We've all heard how migrating to the cloud saves big businesses big money. First, it was applications delivered through the cloud, quickly followed by platforms and infrastructure. But what about actual business processes like in-house software development? How does working in the cloud and not just hosting stuff there impact enterprise software development costs? And more to the point, can using the cloud really save money in a quantifiable way as it makes these processes more efficient?
Understanding the possibilities
To answer these questions, it is first necessary to understand what it means to do software development in the cloud. It doesn't necessarily mean an enterprise moves every single aspect of development onto a cloud infrastructure or platform. In fact, it's not even necessary to host the final application in the cloud if that's not the desired environment. Mark Driver, VP of research at Gartner, points out that there are four main categories of software development that can be considered for migration:
- Source code management
- Defect management (issue tracking)
- Continuous integration
Commitment to developing applications in the cloud is often partial or incremental rather than total. Enterprises that do move their development process completely into the cloud might choose a single integrated solution, or they might take a multisource cloud approach. It's a buffet style of cloud consumption that's likely to continue for the near future -- and it's not an impediment to realizing at least some software development cost savings.
The dirty little TCO secret
Before a specific enterprise can say whether moving development to the cloud will save money, they have to be honest about how much they are currently spending. Accurately estimating total cost of ownership (TCO) is a venture fraught with uncertainty. Driver makes no bones about the difficulty of this guessing game, "It's an age old problem. Measuring TCO, particularly for software development, is as much of a black art as a science. Anyone who thinks otherwise is largely deluding themselves."
He points out that, historically, the actual costs of development have been obfuscated and hidden within budgets, which are hidden within other budgets, etc. Many enterprises simply don't have any experience analyzing their own TCO. Estimates are generally based on assumptions that may turn out to be deeply flawed. When an organization starts looking into switching to a cloud-based offering such as software as a service (SaaS), they may realize for the very first time how much they were actually spending on their applications. It can be a nasty shock.
Where to look for cloud savings
Regardless of current spending habits, there are some areas where many enterprises can and do see performance gains and cost savings with cloud-based development. Here are a few:
- The low-hanging fruit is typically any process or tool that is hosted on a server. Moving these aspects of software development to cloud infrastructure doesn't impact the individual developers negatively, and it conserves maintenance and production support resources.
- Businesses with a far-flung development team may see faster and higher quality work with cloud-hosted collaboration platforms. The reliability of access may be better in the cloud than on-premises (depending on the provider's track record and service-level agreements, or SLAs).
- Elasticity and consumption-based fees mean new development projects can be launched on a lighter budget. There's no need to set aside huge sums to permanently expand server capacity for end-to-end testing resources that will only be used occasionally. This means enterprises can take more risks in selecting projects and potentially experience more return on investment by pursuing innovative ideas.
- Finally, a cloud provider may provide tools and operational support that reduce the burden on in-house IT staff. For example, an organization looking to develop a mobile app faces the obstacles associated with testing and certification for a huge, and ever expanding, number of potential device profiles. A cloud provider with expertise in this area might offer a preconfigured, prepackaged suite of testing and certification tools for mobile applications.
In the end, there really are a variety of valid and quantifiable ways that organizations can save money and become more efficient by leveraging the cloud.