DevOps has become an integral part of many organizations, as most of them have already adopted or have begun to adopt DevOps culture and practices. But we must understand that DevOps is not a destination but a journey towards continuously improving or automating the organizational process.
“The key to success is often the ability to adapt.”- Anthony Brandt
For all its benefits, DevOps adoption is not exactly a piece of cake for organizations. Much beyond simply implementing DevOps toolsets, this adoption also demands that multiple teams make a paradigm shift towards the DevOps culture, mindset, and processes.
To better understand the level of DevOps adoption, it is important to have a measurable metric. This is where DevOps assessment comes in, as it helps organizations benchmark and improve the current DevOps state for different components like release process, culture, and automation.
DevOps assessment is not a one-time task but a periodic set of assessments defined to measure the current state of the organization and its teams. It also helps the organization to understand the progress made so far as compared to the previous set of DevOps Assessments and the next steps required to reach the next milestone.
How does It work?
Now that we know why we need DevOps Assessment, let's understand how we can use it to measure an organization's DevOps maturity. A DevOps Assessment covers the following steps (depending on the maturity model):
a) Kick-off
A DevOps Assessment usually starts with a kick-off meeting as an initial discovery phase of the current setup, where key stakeholders describe the organization's needs, pain points, and future milestones. The key aspects of this meeting are:
- Mutual understanding with major pain points
- High-level goals & scope of the assessment
- Ballpark timelines with bifurcation
b) Workshop
Usually conducted over one week, the workshop is the most important step of the DevOps Assessment. This is where the DevOps team sits with various stakeholders of the team with the following objectives:
- Identify business drivers
- Identify challenges
- Conduct any POCs (if required)
- Define Roadmap
c) Reporting
A report captures the current set of DevOps maturity parameters and compares them with benchmark parameters. It is also lists the future roadmap along with suggested improvements and is shared with the organization.
This report consists of multiple sections like:
- As-in state of the complete environment
- Key findings for each of the stages of DevOps Assessment
- Future roadmap
- Quick wins (based on the roadmap)
d) Self-Assessment
Some DevOps Assessments also provide the option to go for online self-assessment. This covers different aspects of assessment and identifies the strengths and weaknesses of the system. Many mature organizations have created their self-assessment portals, which help them calculate the maturity level for several stages/components. This helps organizations to benchmark their current as-is State of DevOps.
What does it cover?
Though different assessment providers cover different stages for evaluating the DevOps maturity of an organization, some of the most common ones are:
- Process
- Culture
- Technology & Automation
- Collaboration
- Security
- Outcomes
1) Process
Processes are a vital part of an organization and the teams. Setting up the right processes makes it simpler for an organization to achieve DevOps maturity realistically. Defining processes standardizes the complete setup and provides advancement for the DevOps environment where every stage corresponds to corporate policies and its specific business objectives.
2) Culture
Culture is a crucial component in measuring DevOps maturity. Culture involves the close collaboration of multiple teams - between developers, operation team members, testing team members, and database administrators. DevOps culture increases collaboration and transparency between different team members and enhances the learning curve within the team and thereby within the complete organization.
3) Technology and automation
Technology and automation play a significant role in successful DevOps adoption. Choosing the right technology and the respective toolsets helps in making the complete setup more mature in terms of DevOps. DevOps Assessment verifies whether the toolsets being used within the environment are relevant enough and covers all DevOps aspects.
On the other hand, automation supports DevOps toolsets in achieving continuous delivery & continuous deployments. With more and more automation within the system, the goal is to automate every repetitive task. This helps the organization enhance resource efficiency and extend DevOps maturity.
4) Collaboration
Collaboration is one of the most important pillars on which DevOps works. An organization that collaborates well can benefit in many ways, for example, by merging multiple teams with different mindsets and expertise towards achieving a common goal.
Collaboration also helps in cross-training, where multiple team members with different skillsets provide training and encourage each other to learn and grow mutually.
5) Security
Shifting left with security in DevOps is almost a mandatory task nowadays. It is done to ensure that the right security is in place at the right stages of the SDLC lifecycle. DevOps Assessment covers each aspect of security at every component of the ecosystem. It also checks whether the right set of security parameters/compliance is being used.
Security assessment also covers if the security is being integrated from the initial set of stages along with the right set of security factors.
6) Outcomes
This is the core of all the previous stages, where various proposals are made based on the following outcomes:
- Workflow recommendations
- Team design is based on the business perspective
- Major risks
- Backlogs for improving DevOps practices
- Recommended KPIs for applications
- Agile best practices
- Recommended training
How is DevOps Assessment accomplished?
There are two models for DevOps Assessments:
a) Self-Assessments
b) Detailed Custom Assessments
a) Self-Assessments
As the name suggests, self-assessment comprises pre-defined questionnaires, which include questions from various categories and their respective sub-categories to cover the complete ecosystem.
Some of the assessment providers give an option of choosing the size of DevOps Assessment, with a small size having a smaller number of questions as compared to the large size assessment.
At the end of the self-assessment, an auto-generated report provides the scores of each section of the questionnaire, along with high-level recommendations based on the inputs received in the questionnaire.
Nagarro has also created a self-assessment portal to evaluate the DevOps maturity of a project. It takes 5 different components and evaluates a project across those components and sub-components. In the end, it also generates a clear, user-friendly report with the current DevOps maturity level.
b) Detailed Custom Assessments
Since one size doesn’t fit all, the other assessment model also covers custom assessments. It involves the following aspects:
a) Pre-assessment workshops, including interviewing key stakeholders and understanding high-level components of the complete ecosystem.
b) Assessment workshops:
- Identify business drivers
- Understand a system as is
- Define where to go
- Identify challenges
- Proof of Concept
- Prepare roadmap
c) Post-workshop activities include a tailored fit maturity model, along with a custom roadmap to enhance the DevOps maturity along with proof of concept (if required)
Would you like to leverage the benefits of these models? Nagarro provides custom assessments and has a defined framework that helps projects/organizations assess their maturity level.
Get in touch with our DevOps experts to benefit from their insights and analysis based on previous experience. Visit our DevOps page and feel free to email or call us. Now!