Can speed and quality go together?
As we know, the DevOps approach strives to achieve this through parallel efforts at software development and operations readiness.
Keeping these 2 competing processes in lock-step is achieved by enforcing Quality Gates at the end of every step of the SDLC process, with clearly defined and calculable entry and exit criteria, as well as the clear responsibility of who is handing over and who is taking over the application. These Quality Gates help to ensure that defects are logged and fixed within each step, and not allowed to flow further downstream. To enforce the quality gates rigorously and comprehensively, software testing starts early as well. So the role of testing experiences a left shift, entering the picture right at the beginning of the SDLC rather than later, as is the won’t in the traditional method of linear (aka “Waterfall”) development. This also achieves the purpose of speeding up the entire development and implementation process. Test Driven Development, Continuous Integration, and Continuous Deployment all help achieve this speed, as well as assure quality.
Monitoring these processes in ensuring speed and quality is the DevOps dashboard that tracks the entire process, spot bugs at an early stage, and helps experienced user spot trends early. Therefore, one of the critical steps in integrating the testing with the other two processes would be building metrics on the DevOps dashboard based on the project objectives.
The metrics should aim to assess the following
- Deployment success rate – the customer-facing quality metric
- App error rates for each Phase
- Incident severity surfaced at each Quality Gate
- Outstanding bugs (aka Technical Debt)
The metrics can help improve the understanding of the impact of a specific release as well as the response rates of the different teams to fix the bugs in the release and handle them better in the next.
These metrics help keep the process efficient and achieve DevOps goals. They help reduce the time taken for test automation, and also identify new areas that can be automated. ROI of automation comes from the ability to execute the automation suite early, fast, and frequently so that issues can be fixed before being found by the end customer. The metrics given above help you find the bottlenecks to help achieve that end goal.