The costs associated with shaky software development are staggering.
Every year, $312 billion is spent debugging projects after delivery- that is, after they had been delivered to the client as finished.
In fact, reworking dysfunctional software typically makes up 40% of final expenses. Last year fewer than a third of all projects were completed on time and on budget.
Choosing a software development team is the first step to being in that top third.
Good developers have the knowledge to shepherd your project from concept to final product- as long as you pick the right one.
Follow these simple tips to hire a great software development company for your unique needs.
Outline the business problem the software needs to solve.
This can be as simple as a direction statement (“We need a way for our non-technical marketers to access our business intelligence data”) or as detailed as a full page memo with bullet points.
A rough sketch of your project’s scope will be a convenient reference throughout the hiring process.
Once you know what you want, decide what you need from a developer.
Include factors like technology preferences, skill sets, training, project management staff, and a preliminary budget.
The chosen development agency will help flesh this out during the requirements gathering phase, but you should have a clear enough idea in the beginning to determine whether a particular company can handle your project.
Make a short list
Look for developers that do the type of work you need.
Local business bureaus and networking groups are good places to start, but there’s nothing wrong with an internet search either.
A smart development company will list their services on their website; you shouldn’t have to go digging for it.
Stay within your comfort radius; if you prefer a local company with the option for physical meetings, make that a priority up front.
Once you have a pile of candidates, narrow the field to those most likely to be good options.
Rule out any company that doesn’t list past clients on their page or offer references; there’s probably a reason past clients aren’t willing to be associated with them.
Check out tomorrow’s article on “What the Best Software Development Companies Have in Common.” It is a useful guide to what to look for in a development partner.
Set up consultations
Personal meetings provide a better opportunity to assess how the company will fit with your corporate culture, though when dealing with an overseas developer a Skype meeting or call may work as well.
The initial consultation should be free and focused on what the development company can offer in regards to your project.
Discuss the company’s standards. Do they have compatible views on what “good enough” means? What are their usual procedures and what can you expect from working with them? Touch on considerations like security, testing, and IP protection.
Be sure to ask about more than price range. For example:
- What does the price include?
- Is there a limit to bug fixes later?
- Are there any included guarantees?
- What is the complaints process like?
Schedule enough time to get a feel for the company representatives.
Take notes both on the company’s capabilities and your impression of them; you may forget things after multiple consultations.
When the meeting is over, ask for references from satisfied customers.
Don’t feel pressured to make a decision right away; even if the meeting goes very well, check the references before signing a contract.
Read up on your finalists.
Scroll through their social media pages, and check for online complaints on sites like the Better Business Bureau.
Talk to past customers and industry peers who have worked with them.
If you can, look up user reviews on software they’ve finished.
When you’ve ruled out the companies you don’t want, rank the ones that made the overall best impression.
Consider expertise, team composition, and body of work before considering budget.
Get opinions from everyone who sat in on consults.
Seriously consider any substantial criticism, especially from non-technical staff who will be using the software.
Finally, weigh the candidates in relation to your specific project and make a decision.
Check your choice
The planning stages of your project are an indicator of whether you made a good choice.
Your newly hired developers should maintain open lines of communication.
The best firms will appoint you a dedicated point of contact, or at least provide one when you ask.
Be wary if the company suddenly starts to back off communication after a “soft contract” (the verbal agreement before signing a paper contract).
Requirements gathering should be done before your final estimate- don’t trust a number given before the company knows what you need.
Expect candid, professional, thorough discussions aimed at defining the structure of your program. If you feel rushed through this stage to get to the contract, address the matter with your point-of-contact, whether it be the sales agent, account manager, or project manager.
Unanswered concerns could be a sign you need to pull back from partnering with that company.
Be willing to walk away
It’s better to walk away than to try to push forward with an unsuitable development agency.
Too many companies have overlooked major red flags and lost millions because they were afraid to lose a non-refundable deposit.
Trust your own judgement. There are hundreds of thousands of software developers; don’t risk your company’s future by investing in the wrong one.