As part of a business case to have DevOps implemented within the organization, the initiative should take into consideration the benefits and costs associated with it.
Set the stage for a strong DevOps case
- Lean manufacturing and continuous improvement are no longer exclusive to manufacturing. In today’s business world, these concepts apply almost everywhere. Taking a close look at work in progress (WIP) and the constraints in your delivery life cycle is an extremely powerful tool. If you optimize development but can’t deliver software to the end user, then you aren’t delivering value. Taking a holistic view of the value chain and looking for waste and bottlenecks will drastically improve cycle time, quality, and profitability.
- DevOps applies to more than just Web development teams. It impacts the delivery speed of many business applications, including mobile applications for your customers and field employees. It is unrealistic to expect financial systems or enterprise resource planning systems to change rapidly.
A Business Case for DevOps
DevOps needs to be appreciated by business decision-makers (who may not be technical experts) so that they will realize the true value of DevOps. In this regard, key talking points include:
- DevOps makes better use of employees’ time: Continuous delivery and parallel work ensure that IT experts aren’t idle (a situation that would be boring for them and costly for the company).
- DevOps keeps frameworks flexible: The principle of DevOps emphasizes the avoidance of vendor lock-in and the maximization of agility when selecting tools and frameworks. As a result, businesses can use the technologies that are most suitable to their needs and budgets at a given time, rather than those to which they are tethered by lock-in.
- DevOps promotes open, extensible tools: DevOps engineers use open source tools like Docker and Puppet developed by the community. Due to their free nature and ability to be customized, these tools are a cost-effective way to keep operations lean.
- The best software developer can command top pay no matter where they work, thanks to DevOps: Thus, to attract the best IT talent, companies need to do more than just pay high salaries. Also, you need to provide developers with the toolsets they want to use. These are DevOps-focused pipelines today. Skilled developers avoid jobs that require them to use outdated tools, or to deal with needless inefficiencies.
- Everyone is doing DevOps: DevOps is no longer just for startups and tech companies. DevOps has already been adopted by businesses of all sizes, or will be in the near future. It is critical to take advantage of DevOps efficiencies if you want to remain competitive.
DevOps benefits can be assessed as follows when considering them for your organization:
- Taking time to understand how much time is spent manually executing Integration and Deployment steps is the most obvious and direct way to improve. This time can be freed up by automating the process.
- In what way are engineering and operations involved in troubleshooting production issues? A benefit of DevOps is higher quality and fewer defects in production (due to the automated nature of the process), which leads to less time spent troubleshooting production problems.
- How does application downtime affect your organization? In addition to waste of time for your engineering and operations teams troubleshooting production issues, these issues might also adversely affect your customers and result in lost revenue. By implementing DevOps, you will decrease the chances of losing revenue due to downtimes and decrease customer dissatisfaction.
- It is hard to quantify, but consider the increased revenue and customer satisfaction that comes from faster and better releases. A relevant anecdote may be “we couldn’t close that big deal because we couldn’t deliver that one feature fast enough.”
The following costs should be considered when creating a business case for your DevOps initiative:
- Automation: Automation is a key DevOps pillar and you will need to deploy tools and automate tasks in your pipeline. Tools and labor will be incurred in this process:
- Tools: for DevOps to work, you will need a code repository, an automation solution, and a test case management software. These aren’t strictly necessary, but are very useful. Most companies use most of these tools already – though not to their full DevOps potential – so additional cost is unlikely.
- Labor: It is going to be your largest expense. In addition to tools listed above, you will need people to deploy and maintain your CI/CD pipeline. This includes automating testing and deployment steps; building dashboards and alerts; and monitoring the production environment with dashboards. Nonetheless, DevOps initiatives pay off in multiple ways since they create automated tasks that will save you time each time they’re used.
- Processes redesign: Your organization will need to rethink the way software is delivered to production as part of a DevOps initiative. A crucial planning step is to map the steps involved in software release and to determine how they will be incorporated into an automated pipeline. For small, single-team projects, this mapping can be quite straightforward. Adding teams and software components into the plan however makes the plan exponentially more complex, even though improvements might not all be made at once – you can begin by automating the Build phase, and then move on to Tests and Deployment.
- Personnel: The implementation of DevOps means a cultural shift within your organization, and this shift requires the training of existing employees, the hiring of new employees with the new skills necessary, and possibly the assistance of external firms focused on DevOps.