Last year, we merged our existing operations and development departments into one Product Engineering department. Since then we have been focusing a lot on coaching all 13 teams and improving their effectiveness
In october last year, we attended an excellent talk by Bol.com at Velocity Amsterdam. In this talk they explained their ongoing transition towards DevOps. One of the concepts they introduced, was a maturity model to measure and incentivise continuous improvements within a team.
Inspired by the Bol.com talk, we have since developed and implemented a maturity model within our Product Engineering organization which consists of a matrix of four levels in four categories.
Within a category, a team progresses through four levels, starting at “Initial Level” which essentially means none of the requirements have been checked, from here a team progresses through “Basic Level” and “Intermediate Level” to achieve the “Target Level” (our ideal DevOps team).
The model is based on our belief that, when a team’s maturity increases, so does their autonomy. At the Initial level, a team needs to focus more on following guidelines/standards while at the Target level they will be actively working on improving those same standards – including the ones in this model.
Maturity model categories
Since we’d like teams to focus on different areas, our model consists of the following four categories:
- Culture & People: This section focuses on team happiness, self-organization, sharing responsibilities and failing fast.
- DevOps Agility: Mostly focused around how the team applies Scrum, and whether or not internal procedures are known and followed.
- Business Value: Since we focus on actual business value when working, this section includes items like continuous feedback loops, stakeholder happiness and having an agile roadmap.
- Automation & Tooling: Does the team have zero touch continuous deployment? Are test automated? Is monitoring in place?
Measurement & Visualization
Each team assesses itself based on the maturity model every 2 sprints (4 weeks), usually with the help of our agile coach. On one of the walls in our office, we have a big visualization of the four categories, with magnets representing the teams, so everyone can see what the current status is. Teams move to the next level when all of the checkboxes in the previous level have been checked.
Over the past months the model has really helped our teams to grow and become more mature, it’s a excellent guide for them to see what to focus on.
A copy of the maturity model checklist can be found here: https://github.com/LeaseWeb/devops-maturity-model
If you would like to learn more about how LeaseWeb implements Scrum, there will be a talk on this at this year’s TechSummit Amsterdam. Or just talk to me when you’re there!