Software Team Maturity Matrix

Whether you lead a small team of developers, a tech startup or a huge department, it’s important that you constantly strive to improve the processes and tools that you use. If things are going really well, it’s easy to become confident in your abilities and overlook the need to self assess where you are at as a team.

One of my favourite tools for doing this is a Maturity Matrix. The idea behind this matrix is that you have a list of best practices and you assess your team or department accordingly. For example, imagine you were building the perfect organisation - what would it look like? What tools / processes would they use? I like to jot all of these things down in the Maturity Matrix and compare where we might be as a team versus the reality of where we are at. It’s a bit like the Joel test but on a much larger scale.

Let’s take the spreadsheet below as an example.

The spreadsheet above contains a list of Software Engineering best practices for a department (click here to download if you can’t see above). Sure, this list might not contain every single best practice available and is somewhat customised to my experience - but it's a good start and gives an insight into the things that could be improved upon. The best thing about this is that you can tailor it to suit your own departments needs and regularly reassess where your team is at.

So, how do you use this? Well, I like to use a Red / Amber / Green rating to compare where things are. Red is for non existent. Amber is for work in progress, or something we partially do. Finally Green is for something that we work on.

It’s important to be honest with yourself and rate yourself accordingly - after all, this is only to help improve things for you and your team! Once you’ve completed the Maturity Matrix you should start to get a bigger picture of the things that you need to work on. For example, if there are a lot of reds - then perhaps those are the more immediate things that you need to work on.

It’s important to not only look at Software Engineering best practices - but also People best practices. Below is another Maturity Matrix that I like to use to assess how things are in terms of people.

Again, this list is something that I like to use and have personally built up - but it might not be suited to you - it’s up to you to adjust and add accordingly.


As a team, it’s important to constantly look for new avenues to improve. I know that in my own experience, I can sometimes become lazy and neglect some of the important things that should be done. This is why I like using a Maturity Matrix like this to keep me and my teams honest.