Where are you on your DevOps journey?
I am really excited that we have just released the first version of our Open Source DevOps Maturity Assessment tool. It’s a quick, easy way for any team to get insights into their current DevOps capability, and to learn how they might further improve. In return for 20 minutes of your time to complete the questions, you get a route map for next steps together with links to relevant further advice and guidance.
I feel very privileged to have been part of the core team that has created this. All of us have different backgrounds, but together we have an extensive combined experience of driving DevOps adoption in a wide variety of contexts. The five of us met via the Atos Experts Community and we set ourselves the following challenge: how could we help any team, anywhere, take the next steps along their DevOps journey?
One thing that we had all realized from our work with numerous teams, is that DevOps is a topic that is so broad (and deep and tall) that often it is difficult for teams to know where to start. And that is what led fellow team member Chris Baynham-Hughes to suggest that it would be “quite simple” to throw together a few questions that would help teams understand their current strengths and weaknesses.
But it turned out that this “simple” idea, wasn’t quite so straightforward. We soon realized that the tool had to be usable by someone who wasn’t already a DevOps expert, and so we had to avoid using DevOps terminology like CI (Continuous Integration) and CD (Continuous Deployment/Delivery) - or, at least, where it was absolutely necessary, explain it inside the questions. We realized that, to make the assessment widely applicable, we had to ask general questions about principles (e.g. “Does the team have a new, potentially shippable, version of the product available every 1-2 weeks?”) rather than specific questions about methods, technology or tooling (e.g. “Does the team deliver in 1-2 week sprints?”). And we realized that we had to break down a huge, complex topic into different areas, whilst avoiding overlaps and duplication.
Our first versions of the tool were implemented in Excel and were quite clumsy to use. But they enabled us to test the idea with real teams, and to get their feedback. We soon realized two things. Firstly, we needed to make it available in an interactive online format. Secondly, whilst people were interested to find out about their team’s level of DevOps maturity, they were even more interested to find out more about what steps they could take to improve.
With this in mind, we built the online tool to not only collect answers and present results, but also to provide advice and links to some of the many resources (books, videos, blog posts, papers, articles and websites) that are already available, trying to find a good balance between short introductory material and more in-depth information.
And that is what is available in version 1. Questions covering each of the following areas:
- Team Agility
- Architecture and design
- DevOps practices
- Organization structure, culture and incentives
And, for some of the areas, you can also see a further, more detailed breakdown of your results. For example, for DevOps practices you can see your relative strengths in the following:
- Continuous integration
- Continuous delivery/deployment
- Code review
- Test driven development
You can also download the results in CSV format for more detailed analysis if you wish.
Because we want to lower the barriers for any team to improve their DevOps capability, we have released the tool as Open Source under the MIT License. This is one of the most permissive licenses available and essentially means you can do what you like with it. You can modify the source code and update the questions (all configured in a single JSON file) and there is no requirement for you to release or share any of your changes. That said, we absolutely welcome people forking us on GitHub and contributing improvements if they want to!
We also tried to make it really easy for anyone to host it themselves: the supplied app.yaml makes it simple to deploy into Google’s App Engine (which is exactly how we are hosting it at Atos), but it will run on pretty much any PHP enabled web-server (for more details see the README).
We’ve already seen teams get value from the insights and understanding that can be gained from using this tool. And we hope that now, by making it publicly available, many others will be able to use it, and improve it further, to help more teams everywhere get greater benefits from DevOps.