In my last blog on DevOps Topic, I discussed “New Breed of Testers with DevOps (Reference -1)” I discussed about evolution of DevOps, DevOps approach, use of tools in DevOps lifecycle and how DevOps has changed the skill landscape expected of test organizations. I received number of enquiries on how should the organizations go about assessing state of readiness for DevOps and then to mature in their DevOps journey.
To begin with, lets discuss briefly about why organizations are moving to DevOps and any challenges in doing so. Then I would present a method to assess current state of maturity and a roadmap to achieve higher state of maturity in DevOps journey.
(1) Why DevOps – The Drivers
DevOps speeds up IT to achieve business agility. Compared to traditional IT, DevOps
- Redefines teams to eliminate silos and barriers to progress (traditional silos being Business / Dev / QA / Ops)
- Restructures the approach to Release Planning – Favors small rapid releases to production over large groups of changes
- Adopts Agile and Lean concepts across the entire end-to-end lifecycle
DevOps maximizes automation across build, testing, provisioning, configuration management, promotion, deployment and release stages.
(2) Challenges the organizations face in Implementaing DevOps
So we agree, there is business case for DevOps adaption, and it provides required agility to businesses in today’s fast-paced business environment. Is it easy then for an organization to implement DevOps? We need to know the challenges and be prepared. As per Capgemini World Quality Report 2015, some of the challenges (the percentage respondents citing the challenge is in bracket) in adapting DevOps (include –
- Insufficient speed in testing due to insufficient levels of test automation (39%)
- Difficulty in identifying the right areas on which test should focus (33%)
- Lack of appropriate test environments and data (31%)
- Lack of professional test and quality expertise in teams (31%)
- Lack of good testing approach that fits with DevOps approach (29%)
- Difficulty to re-use and repeat tests across iterations (29%)
(3) DevOps Quality Blueprint (QBP) – Why & What ?
To understand the current state of maturity of the organization to adapt to DevOps practices is important in ensuring successful implementation of DevOps. a baseline assessment helps to understand the challenges (such as stated above) to be acknoledged and addressed before organization can embark on the DevOps journey, For those who have already embarked on the journey, such assessment helps to progress further in achieving higher state of DevOps maturity.
The DevOps Quality Blueprint (QBP) benchmarks the maturity of the testing processes in a DevOps environment and helps us to develop a roadmap for envisioned end state.
Key DevOps practices (as against traditional IT) include –
- Use of an integrated Quality Approach
- Build Quality Engineering teams in DevOps
- Implement Behavior-Driven and Test Driven Development
- Automate, Automate, Automate.. to enable a Zero-touch continuous automated testing
- Virtualize test environment, and automating test data needs for continuous integration
- Implement quality metrics for DevOps
- Continuously monitor quality of Continuous Integration/Continuous Deployment (CI/CD)
Capgemini/Soget DevOps QBP approach assesses 25 elements of DevOps adoption across 6 key areas – source control, build management, release management, deployment, test management, and monitoring.
The 4 states in level of maturity include
- Initial – Involves agile development, limited automation, focus on code quality and versioning, traditional infrastructure
- Controlled – involves continuous integration, automated build, QA Integration simulation, business process modeling, continuous testing
- Efficient – involves extended testing automation, process optimization, analytics, automated Provisioning, cloud Lite
- Optimizing – involves process productization, managed KPI trajectory, hybrid cloud
(4) Outcome of a DevOps QBP Assessment
With our detailed toolkit for DevOps QBP assessment, we assess current state of each of the practices in 25 elements in 6 key areas. A sample snapshot of the DevOps QBP assessment is provided below.
(5) Conclusion – A Journey ahead
Capgemini Sogeti have a benchmark database of DevOps maturity across industries and domains. Engagement assessments are compared against benchmark as portrayed in the kiviatt chart above. The assessment helps identify areas of gaps, based on which actions are identified for advancing in DevOps maturity roadmap for envisioned end state.