by :
Paul Howe
Writing a software application is a complex task. The task involves pre- and post-project execution strategies. The software development life cycle must have a detailed phase-by-phase implementation plan with projected completion dates.
Ensure that your needs are significantly unique to warrant a customized solution that will require software developers. Check that your needs can't simply be fulfilled by existing products or plug-ins.
Evaluate your needs carefully and decide whether you need an offshore development company or one that is based locally. Offshore development from countries such as Russia, India and Israel can be low-cost but pose significant management challenges.
Assess the entire software team's skill set.
Make sure you select a team with an experienced project manager.
Make sure you have a good understanding of the communication skills of the team. Examine documentation samples from previous projects. This documentation should be simple enough for a non-technical user to understand.
Seek evidence of software quality certifications such as Capability Maturity Model (CMM) and ISO, which are good indications of internal process control. But be aware that highly certified companies might charge significant premiums as a result.
Choose a vendor whose size is consistent with your company's requirements.
Try to retain ownership of the code to avoid vendor lock-in. If you are given a license for the code instead, negotiate the terms of the license carefully.
Perform the usual due diligence that goes into selecting any vendor. Look for relevant industry experience, references from previous customers, post-project support capabilities and so on.
Don't enter into any agreements until you are a 100% sure that the developer really understand your needs.