Trust is a rare commodity in the world of software development, and there is an unfortunate history of failed projects and budget overruns that reinforce this atmosphere. Even major software industry players don’t always deliver solutions that meet the expectations of their clients, and the risks for failure are high.
A 2012 McKinsey and University of Oxford study noted that 17% of outsourced IT projects fail at a large enough scale to threaten the business they were built for. The study goes on to note:
These unpredictable high-impact events—“black swans” in popular risk parlance—occur significantly more often than would be expected under a normal distribution. Large IT projects that turn into black swans are defined as those with budget overruns of more than 200 percent (and up to 400 percent at the extreme end of the spectrum).
There are many reasons for this high level of risk within the sphere of software development. Some are the result of honest (but usually preventable) mistakes: breakdowns in communication between the stakeholders and the project managers, a lack of C-Suite involvement, or end-user ambivalence. Often, the requirements for a project are improperly blueprinted during the initial planning and discovery phases. All of these common errors can contribute to the failure of a project, but what about the other scenarios? The failures created by unprofessional software houses and consultants that do not follow best practices?
What are the things to look out for when choosing the professionals that will bring your vision to life?
Does your consultant or software house use a time and materials approach to pricing your project, or do they use an approach as complete as Endpoint Modeling? A time and materials strategy generally involves more risk. A software house that bases its work on time and materials may hold a discovery meeting to map out the project to be built, but they won’t commit to getting paid by features or milestones. Typically, they won’t provide clickable prototypes or a feasibility study that includes all necessary handshakes and API issues. Most of their calculations and processes will not be transparent, and that puts you at risk.
While large software houses can sometimes also fail to deliver applications that meet their client’s expectations (see methodology above), the number of successful products a company has delivered is a reassuring gauge of quality. Look for software houses that have experience in the specific platform or technology you would like to use. New and emerging technologies are introduced all the time and don’t want to be anyone’s first project. Whether you require AI, Machine Learning, or Augmented Reality elements, choose a software house that specializes in those systems and can provide you with as many case studies as you need. If there aren’t any case studies, run don’t walk.
Does the software house you want to hire offer any contractual guarantees? Do they mitigate any of the risks that you are taking in hiring them? While guarantees are rare, they are worth searching for. A software house that believes in its methodology, its ability to scope projects correctly, and does not intend to add resources and extend timelines halfway through production should be able to support those assertions in their contracts. If they can’t offer any guarantees, they are not true business partners.
Do you have experience with bad or unprofessional software development services? Do you know of instances where losses have been incurred due to choosing the wrong software development house? Leave us your stories in the comments. We’d love to discuss it with you!