You have to run leaner and meaner and so you’re intent on driving IT costs down. But where will those much sought-after cost reductions come from? One area that may not have received the scrutiny it deserves is software development.
The evidence is mounting. When Forrester Research examined the total economic impact of new software development infrastructure, it discovered considerable savings associated with the near real-time replication of source code on servers globally.
In the case of one Fortune 500 electronics company it studied, $776,509 in specific benefits was identified over a three-year period — leading to a risk-adjusted ROI of 150%. By enabling developers in Asia to perform builds locally, the new approach eliminated up to two man-days of idle time each day and increased the number of builds 100%.
Phoenix Technologies, a leader in core systems software products, discovered it could significantly reduce costs associated with production delays and lost man-hours by adopting a similar solution. By enabling continuous builds at six different locations across East Asia and North America, it reduced overall build cycle times by more than 60% and increased productivity by 30%. Previously, over two hours of development time had been lost each day due to poor network performance and outages.
So why have the costs of software development become excessive?
One clear factor is developer inefficiency. This is often a concern when developers are spread out geographically, particularly when many of them are located in regions (such as India and Greater China) with limited network capabilities. You experience clear and irretrievable costs when developers can’t promptly check in their source code to a central repository. Cycle times lengthen and projects are delayed. If time is money, then this is money that’s burning.
Another issue is network performance. After all, network failures happen all the time.. What’s the cost of developer downtime or the inability to access your source code at all? Network performance and downtime issues represent an ongoing tax on software development — imposed in endless delays and lost man-hours.
Yet another factor is the absence of Continuous Integration/Continuous Delivery (CI/CD). Companies that implement this best practice test their software builds perpetually to identify bugs, errors and other signs of corrupted code. Through this approach to quality control, they streamline software development.
But companies that don’t engage in this practice run the risk of discovering software problems late in a project, which can lead to considerable rework and long delays. Worst case: they release corrupted code into production. As I’ve written elsewhere, such mistakes can have a devastating impact on corporate finances and reputations. Knight Capital Group saw its stock price collapse and the company took a pre-tax loss of $440m as a result of bad code.
Finally, there is the opportunity cost associated with geographic barriers and boundaries. Many companies bear added and unnecessary software development costs because they cannot source the right talent in the right place at the right price. Because of network limitations, an inability to synchronize development efforts and other factors that hinder productivity, they are simply unable to get the full benefits of offshore development.
Which leads us to the question of how to confront your costs.
How can you intelligently reduce software development costs and, thus, drive down overall IT costs? Here are three proven steps you can take:
- Embrace Continuous Integration/Continuous Delivery. It’s been written elsewhere that “quality is free.” Ultimately, it costs nothing to implement practices enabling you to continuously test and enhance the quality of source code. You prevent defects on the front-end to ensure they don’t emerge later in the development or, worse, production process. It will save you considerable costs associated with rework and delayed projects.
- Commit to Highly Available Source Code. In order to enhance collaboration, avoid developer inefficiencies, and make CI/CD possible, you need high availability. Developers need the ability to rapidly check in their source code to central repositories. Companies need the ability to rapidly replicate changes to source code between servers on a global basis. And you need the confidence of knowing that network performance and downtime issues will not undermine this availability.
- Aspire to Software Development without Geographic Constraints. Today’s technologies increasingly make possible what British economist Frances Cairncross called “the death of distance” just over a decade ago. You can now seek the right talent in the right place for the right price. You can realize economies of scale and skill that previously would not have been available to you.
Software development may not have been the first place you considered when seeking ways to drive down costs. But, as a growing number of companies have discovered, it’s often loaded with excessive costs — both direct costs and opportunity costs.
As the evidence suggests, software development represents an important, if under-appreciated, area for achieving new efficiencies. By rethinking software development infrastructure, you can both reduce costs and accelerate your time to market.
And as software is increasingly suffused throughout the overall economy and demands escalate for new releases, you’ll find that that today’s investments in cost reduction and superior infrastructure set the stage for tomorrow’s gains in revenue growth.
P.S. If you haven’t signed up yourself or your team members, I highly recommend registering for Subversion Live 2012 this October. Use code DAVID45 for 45% off registration. Visit www.wandisco.com/svn-live-2012 to get more information.