Choosing the right software company to work with is a crucial decision that could make or break your project. There are no hard and fast rules on how to do so, but it is possible to at least screen out the bad ones and shortlist the great ones by taking a rational approach. Here is a checklist that should help you get close to a decision, though ultimately as long as your favoured company passes the basic tests, you should choose the company with which you feel the most comfortable. They are not in order of priority.
- Software development approach and methodology: Good collaboration between software developer and vendor is key to successful projects. The principles and practices of agile software development encompass the essentials of collaboration needed to achieve a shared vision of the project goals and the route to achieving them. While there are many different agile methodologies, each with its own approach, emphasis, and strength, your selected software company should be able to explain exactly how it will work with you to understand and deliver your goals.
- Personal recommendation: The power of personal recommendation is difficult to overstate. Ask your trusted contacts for their advice on which companies are the good, the bad or the ugly. Dig deeply and discover why they think the way they do. What can they tell you about their experience with the company? Were budgets adhered to? Was delivery on-time? Were targets met? Was quality as specified? How good were communications? Social media and published reviews can help too, but personal recommendation carries a greater degree of trust.
- Location: If you are considering contracting your software development offshore, then there are several factors to consider. While it is a popular choice and offers a potentially cheaper alternative, and there is little doubt that there is a large supply of talented developers offshore, there are also several downsides that can lead to increased risk. Language barriers, different time zones, loss of control, lack of shared regulations and governance, control of your intellectual property, can all create barriers which could compromise delivery of your project. Carrying out due diligence is also more difficult as is controlling speed and quality aspects of the project.
- The development team: It almost goes without saying that the strength of the team which will be working on your project is crucial to a successful outcome. There are many factors to consider. It is important that you get on well with them and that there is mutual respect around. Are you happy they have the necessary skill set, which goes far further than excellent coding skills and encompasses an understanding of business in general and your business in particular? Are they on your side? Will they route for your project and have a true commitment to delivering a winning product? No team is perfect, so work on discovering any potential weakness and devise workaround strategies for addressing it.
- Points of contact: Will the company provide you with a single point of contact such as the project manager who will be able to deal patiently with all your queries on a day to day basis? Or will it be pot luck who picks up the phone? Your time is too valuable for you to be given the runaround, so only work with software companies that will treat your call as high priority whatever time and however often you call. We are not advocating that you should make a nuisance of yourself; but when you really need a query dealt with, it should be dealt with without delay.
- Corporate management: While the development team is a critical aspect of your selection, so too should be the corporate management. Does the company have adequate resources to deliver your project? What are their corporate goals? Do they have adequate coordination and control? How do they maintain the trust, loyalty, and health of their workforce? What is the staff turnover? What is the level of absenteeism? What is the true relationship between senior management and project workers? Is there a staff appraisal system and how are staff compensated? Ultimately, ask yourself if, in a different universe, is it a company you would be happy working for?
- Customer base: Which companies have they previously worked with? What kind of projects have they worked on? Which do they consider to be their most successful projects and how did they fare subsequently? Do they have a strong base of repeat customers? If they do, then it speaks well of the company. Which projects didn’t go as planned and how did they go about getting them back on course? While much of this kind of information is, of course, confidential, they should be able to discuss it at least in general terms.
- Guarantees: What guarantees do they offer? What happens if all looks fine on delivery but then a bug arises downline that needs significant coding change? Do they undertake to keep the software bug free and if so will they meet the cost themselves or will it be shared? What if the problem arises from an error in the specification? Software guarantees are by their nature difficult, so be careful to read the small print. On the other hand be suspicious if they appear to guarantee more than you believe they can realistically deliver,
- Success rate: What is their claimed proportion of on time within budget deliveries? How many projects fell by the wayside? Bear in mind that in the industry overall around 30% of IT projects are cancelled, over half end up over budget. Overall software projects produce 83% of their predicted value. How do your shortlisted companies stack up with these figures?
- Cost: While this is the last on our list, it certainly isn’t the least. However, it usually doesn’t pay to go for the cheapest quote. Doing so may cost you more than you bargained for as inevitable corners will be cut. Their code may be of poor quality, tests may be omitted, and communications & customer service could be of low standard. What you need is the most cost-effective deal that will provide you with real value.
We hope that this list will help you on your journey to find the best software company to work with. It isn’t exclusive, there is no doubt many other factors to consider too, but at least it should be a start. Please feel free to talk to us about your Web, Mobile or Software project - ring us on 01622 235 369 or email firstname.lastname@example.org.