After determining that your company needs a custom software solution to be developed, the next step is to find the partner that will fit in with your environment just right.
Before you can start looking for a vendor though, you should have a relatively clear idea of what you are looking for in a custom software solution and your basic needs defined.
- Do you want an entirely new system or a program that will integrate with your current one?
- What task or tasks do you expect this custom software solution to perform and achieve for your business?
- Ultimately, how will the custom software solution make your business better?
- What is your budget?
- What is your timeline? When do you expect to get started and when do you hope to have the project completed by?
- Do you want someone who can work hands-on with you or is dealing with a team long-distance suitable for your needs?
The more detailed the initial description is of your needs, the more likely you are to find a custom software vendor who has the qualities and skill necessary for long-term compatibility. You will also be setup for an easier decision making process when narrowing down your choices after clearly defining your needs.
Once you've defined your basic needs, you should begin thinking about some of the differentiating factors between custom software development companies and how each of those will weigh in the decision making process.
Location and Size Matter
You have a choice of hiring an offshore company, which is most likely to be less expensive (at least on paper), or a company onshore, that will be more likely to be able to work side by side with your team and your systems. If you want an onshore partner, your choices are a local freelancer, a general technology contracting or staffing firm, or a specialized custom software developer. Each of these has its advantages and disadvantages.
Local Freelancers or Independents
These folks may be the least expensive and can often start a lot quicker. However, this is normally only one person, so development is slower and you can't be guaranteed of experience or ability to create the exact custom software solution you desire. Also, the most qualified independents are often juggling many jobs at the same time.It’s not uncommon for independents to disappear to pursue more interesting / more profitable work, which can leave you in a bind.
Onshore General Contracting Firms
These are priced between the local freelancer and the specialty developer. They are able to offer a team of developers, but there is no guarantee they are familiar with the details of your business or bring a common approach, which could hinder progress on the development and final performance. The team you get will likely be hourly employees who have never worked together in the past. While you can get a productive team, often times the firm is using unknown developers and expecting you to manage and direct them.
Software Developers From Custom Software Development Firms
This partner likely come with a higher rate than the other options. They have, however, specialized knowledge of your business, a common development methodology, tools & libraries, and team approach based on past experience. Your software is developed by a team and their projects are often limited to a small number at any given time, ultimately giving your project more attention.
Now you are ready to choose, right? Not quite. Now it’s time to get deeper into specific project details.
Size of the Project
Some companies work on only large multi-million dollar projects, while others prefer doing quick more discreet and isolated projects. Others will take on any size project. You need to figure out the scope of your project, then look to the experience the different partners have with the size of project you are looking at. A company may say it will take on large projects, but do they have a success rate of doing so? Find a company that has experience in projects the same size and scope that you need.
Do you need a partner that can work equally well with older systems and newer technology? Most companies, especially newer ones, may have knowledge of how older systems work, but may never have actually worked with these systems. Hiring someone who has never actually worked with the hardware and software you currently have is like hiring someone who read an anatomy book to perform surgery. It may not turn out so well.
Often your first idea of what you are looking for will change as progress is made, further thought is put into it, and an outside viewpoint is discussed. How versatile is the custom software development company when it comes to being able to make changes as the software is being developed? We aren't talking a major overhaul, but changes that may work better, make the software run more smoothly and make the whole project more productive. Not only can they adapt, but how willing are they to offer input based on their experience? How important is it to you to work with a partner who offers input rather than simply does exactly what you ask?
Once the software is developed, do you want a partner who will guarantee your software? What about dealing with upgrades? You need to ask what kind of follow-up service you can expect from a company and then decide if it is what you are looking for. Maybe you feel confident you won't need further upgrades, or have someone on regular staff that can handle that. If that isn't the case, you need to look for a custom software development partner that will not only guarantee its software but will also work with you when upgrades are needed.
Not all companies have the insurance to work on high-security software. You need to seek one that has a security policy and clearance that is equal to or greater than the material you are exposing the company to. The same goes for software that may cause some type of physical harm if it works incorrectly. If that is an issue, you need to inquire about the kind of insurance the company has.
By following these tips, you should be able to narrow your choice of custom software development companies down considerably. There are a few other intangibles that can make a big difference in your satisfaction with the whole experience. That is, how much do you trust the individuals you have had contact with? Do you feel confident that they completely understand your needs, have the experience to create your software, and are a company who you feel cares about your final satisfaction?
Don't underestimate the importance of these - they can make or break a project because they are the basis for communication.
In the end, if you can't communicate effectively with the software creator, then no matter how much experience, how reasonable the cost or how highly others think of them, you won't get the result you seek.