Where you should never cut corners in software development

Driven to find the lowest possible price, some executives are lured into making deals that ruin a project

Digital transformation is an ongoing investment. It seems like every month brings a new technology that companies absolutely must have to stay competitive, and the pace is accelerating all the time. Executives face constant pressure to nail down the tech their company needs without blowing the IT budget.

There are four areas in particular where cutting corners has the most potential for disaster.

Outsourcing

While outsourcing is a powerful tool, it can go wrong fast. The surest path to disaster is hiring cut-rate offshore software developers based solely on price. These companies offer discounts as high as 80 percent over domestic agencies, but the savings come at the price of quality and the risk of wasting time on coding that ultimately needs to be rewritten

Software produced by budget developers is often delivered incomplete, over budget, or well past deadline (sometimes all three). The software then needs to be fixed or completely redone. All told, taking the lowest bidder when outsourcing costs as much as 65 percent more than choosing a quality developer at the start.

The risk is highest when working with offshore companies who have no domestic presence. Language and cultural differences can create a stressful process at the best of times, but the bigger problem is navigating legal conflicts. Laws surrounding property rights and contracts vary from country to country. There may be no legal recourse if problems arise.

Despite the risks, outsourcing can be done profitably. For best deal look for software developers that use pre-screened offshore talent but have domestic leadership and offices.

Project management

For the first time since 2013, IT project success rates are on the rise again. While technological advances like automated testing play a role, it’s impossible to discount the effect of modern project management. 80 percent of IT projects that are within both time and budget constraints are led by a dedicated project manager.

When it comes to trimming the budget, however, the importance of project management is minimized. Companies choose independent developers and assign existing employees to supervise in addition to their regular duties.

These employees are rarely equipped for the position. Only 49 percent of companies offer project management training, and barely more than half of those working as project managers are certified to do so. Without training, project managers can do little more than hope for the best.

Avoid this problem by using developers that offer management-inclusive packages. The price is lower than hiring new employees, and as a bonus the team will already be comfortable working together.

Testing

Good developers test early and often. Errors happen in every project, and they’re easiest to fix when identified early. The cost of fixing a bug found in the late stages of a project are 30 to 100 percent higher than the same bug discovered in the first stage.

Worse, some bugs are never found when developers skimp on testing. This can lead to a host of moderate problems, like downtime and inconsistent features, or to catastrophic failure.

For example, in 2012 Knight Capital Group overlooked a very small software error that caused its software to process 4 million stock orders in an hour instead of spreading the orders over several days. The company lost $440 million, and its stock dropped 75 percent in a single day.

Given the risks, there’s no logical reason to cut testing. The most common excuse is that it’s too time-intensive, but modern automation software makes testing faster, easier, and more accurate. Reputable developers test continually as a project progresses, building quality into the software from the ground up.

Scalability

Scalability refers to the ability of the software to grow in response to sudden demand. Ideally the software will become more popular and widely used, so it will inevitably need to expand at some point. Because good software performs well under light stress without being scalable, some companies believe it’s not a priority during development.

It’s relatively cheap to integrate scalability into software from the beginning. Developers can choose scalable databases, plan for upgrading, and incorporate modular design that allows for modification.

Making completed software scalable is a different story; the process is expensive and time-consuming. It doesn’t even have the virtue of being less expensive. The price difference in scaling at the beginning of a project is negligible compared to the cost of scaling later.

Unless the software is specifically intended not to grow (like a small-scale internal app with a fixed limit of users), there’s really no reason not to build for scalability.

Keeping software on budget

There are plenty of sensible ways to keep development costs down. Prioritizing open source solutions will help, as will knowing how to screen offshore talent. Good software developers should be able to offer a variety of options for different budgets, so the first step in saving is to choose a reputable agency.

This article is published as part of the IDG Contributor Network. Want to Join?