Developers and engineering teams are under increasing pressure to release higher quality software faster. Continuous testing has proven to be central to these efforts as it helps eliminate bottlenecks and ensures that automated testing is a constant throughout the development process, not an exercise relegated to the "last mile." The value of automated testing is more evident than ever before, with nearly half the respondents reporting that management is fully committed to automated testing and with plans to increase spending, according to the recent Sauce Labs Testing Trends for 2018 report ...
DevOps is moving into the mainstream, with more and more organizations adopting or planning to adopt the methodology, both inside their development teams and increasingly when working with their databases.
The benefits are potentially enormous and new Redgate research, ROI of Database DevOps, highlights seven key advantages, as identified by CEOs, CIOs and IT managers:
■ The faster speed and lower cost of a release
■ Improved operational support and faster fixes
■ Faster time to market
■ Higher quality products
■ A lower volume of defects
■ Improved frequency of new releases and features
■ Good processes across IT and teams, including automation
Simply identifying the benefits is not enough, however. A faster time to market may be a good customer story, but with no directly measurable monetary return, the value of DevOps can still be questioned at board level. Businesses want more than promises if they are to sign off on financial decisions: they need to know the Return on Investment (ROI) as well, with facts and figures that demonstrate what they will gain.
So how can you go about calculating the ROI? Here's a four step methodology to follow:
1. The cost of software development
To understand any savings you have to start with your existing costs, so the first step is to calculate the hourly cost of software development itself. The generally accepted method is to take the average annual salary of a software developer, add a multiplier to account for benefits and employer costs, and then divide that figure by the number of working hours in a year.
Using data from the US Bureau of Labor statistics, the average annual salary of a software developer in the US is $100,000. Multipliers for benefits vary, but range from 30 percent to 50 percent. Taking the lower percentage of 30 percent results in an average annual cost per developer of $130,000.
Assuming the number of working hours in a year is 2,000, this translates into an hourly cost of software development of $65.
2. The cost of introducing processes
The second step is to look at the cost of introducing processes. In terms of database DevOps, this could range from development environments and practices, through continuous integration and deployment, to protecting and preserving data. At each step, some working practices will change, but one common thread runs through all of them: the new tooling that will need to be introduced to enable automation.
As research demonstrates, DevOps high performers report the lowest amount of manual work across all practices – and therefore the highest level of automation. This is even more important considering IDC's 2015 DevOps and the Cost of Downtime report, which found that IT organizations that have tried to custom-adjust their current tools for DevOps practices have a failure rate of 80 percent.
Alongside any new tooling, the cost of acclimatizing to the adjusted way of working also needs to be included to reflect the true investment necessary. So the cost of getting up to speed with new tools needs to be added to the cost of the tools themselves.
3. The savings gained
The third step is to calculate the time savings gained through adopting a particular area of DevOps. This will vary across organizations and needs to be more precise than quoting a broad benefit such as the change failure rate being five times lower. While this is a vital element, it does not yet have a directly attributable $ value.
That value needs to be expressed more accurately so that the real financial advantage to the business as a whole can be recognized. At a basic level, this will be the time saved by introducing a specific DevOps tool in a particular area.
4. Plotting the financial benefits
Finally, the attributable $ value can be calculated by comparing the savings gained with the cost of introducing the process. This should be calculated over one year, to demonstrate the immediate impact in the current financial year, and three years, to show what further savings can be realized in the longer term, once the initial cost of adoption has been accounted for.
This ROI monetary value can also be converted to the ROI percentage using the following formula:
A worked example
Let's demonstrate how the methodology works in practice by looking at a worked example, in this case for a database version control tool. Version controlling database code is often the first major step companies and organizations take on their journey to database DevOps. There's good reason too. By version controlling the code for the database alongside that of the application, it ensures strands of development are connected and related, thus avoiding errors and problems at deployment time.
There are many third party tools available to enable database version control, varying in cost from a few hundred dollars to a thousand dollars, so let's take the middle ground and assume $500. Let's also add a time cost of learning to use it proficiently of 3 days, or 24 hours.
The time savings gained would vary from company to company, so let's assume a conservative estimate that a developer who started using a version control tool for database development would save just 15 minutes a day. This would equate to 62.5 hours over one year.
Now let's run the figures:
In percentage terms, this delivers an ROI of 97 percent over one year, and 492 percent over three years because the cost of introducing the process is fixed while the savings continue to accumulate.
As can be seen, it is possible to calculate the ROI of bringing in tooling to enable DevOps or database DevOps practices to be introduced. Clearly, the ROI will be different for every tool, depending on factors such as the cost of the software, the time required to deploy it, and the time that will be saved by using it.
It's also important to remember that the $ value ROI is only one side of the coin. The business benefits that are delivered should also be considered, such as improved efficiency, greater agility and faster deployment of new features, and how they fit in with the differing imperatives of the CEO, CIO and IT manager.
However, in a world where compelling financial metrics are central to investment, using this ROI methodology will help accelerate your DevOps plans across your organization.