It's not a linear scale
To some degree, product development is like a form of art: there are standards of professionalism known to the vast majority of people in the field, and those who do not apply these standards stick out. Usually, that's a bad sign. We would probably call these people amateurs. But sometimes, the results are excellent. Is that just "Beginner's luck?"
Let me give you a practical example of how a maturity assessment could go wrong:
Suppose you meet a team of developers who don't talk much, using mostly scripts, don't even branch out their code, there are very few tests in their repository and people simply put every change straight into production.
A disaster, right? They need a lot of coaching to become a professional development team, won't they?
Maybe. But maybe not. Maybe they're a high-performing team, and there's nothing you can teach them, because they're far ahead of you!
The assessment
Let's take a look at this simple "Maturity assessment":
Most maturity assessments we know would stop in the fourth column - at the highest standards of professionalism.
And that is exactly the reason why assessors might give terrible advice and why ignorant coaches could deal a great amount of damage. And as an aside, it's the reason why I refrain from having an opinion on a team until I see how they actually perform over a prolonged period of time.
True Mastery
To save some time, let's just look at the "communication" aspect in more detail here.
Communication is always good, isn't it? No - that this is a false belief!
Have you ever seen that elderly couples don't talk so much, yet don't feel there's a problem? It is because they wordlessly understand each other. She doesn't need to ask him what food he likes - she knows. He doesn't need to ask where the plates are - he knows. There is no reason why they should have a meeting to align on the meal preparations.
Communication has no value in and of itself. It has to serve a purpose. We need to communicate enough to meet the objectives of our communication. Every bit of communication beyond that is waste.
- Amateurish teams don't know what they need to talk about, hence they under-communicate, generating communication debt.
- In the first stage of professionalism, teams will establish cadenced planning and alignment events where they will communicate about key topics.
- In the next stage of professionalism, teams will pair on development to speed up feedback and prevent common errors that would cause rework.
- In the highest stage of professionalism, mob events replace discussion meetings, eliminating the delay between plan creation and execution. Cadenced planning becomes redundant and alignment implicit.
- And yet, true masters of communication don't need any of that after having spent sufficient time together. They already understand and can predict each other's actions, so why should they align on it?
And how about simple scripts instead of high-end enterprise-level object-oriented programming? In a context. I'll leave it to you to figure that one out, although it could be quite tricky unless you've seen it.
It's quite similar with all the other aspects in our "maturity assessment." There are pretty good reasons for people who absolutely know what they are doing and who know all the tricks in the book to avoid using any of them.
It's a great exercise to reflect on the reasons why or how true mastery could make the professional patterns superfluous.
Lack of awareness
So once we realize that Amateurish behaviour and mastery might be indistinguishable from the outside, how about we ask the team? Probably not a good idea, because they can most likely explain to you why their way of working is the cherry on the cream, even when it's not. With regards from Dunning-Kruger. And even if they are well aware of the professional practices, most reasons for neglecting them are bad reasons.
Thus, you need a way to realize whether an organization has had a healthy evolution beyond the need for professional practices.
Proof in the Pudding
Again, taking a look at our communication example - the proof is in the pudding. How would you know a team is meeting its communication objectives?
When there are misunderstandings or unresolved controversies, individuals go off on tangents or people deliver fragmented piecemeal work, then clearly, we have a team who has not mastered communication, irrespective of whether they are still very amateurish or have learned professional patterns.
When a team harmoniously delivers great results, where everyone understands what to do why, how and when - what "communication problem" would you want to solve by adding structure?
Likewise, it's for all aspects of our "maturity assessment."
When a team manages to sustainably deliver high value, high quality outcomes, they may have no need of adding anything. Most likely, the things you'd want to add would make them worse, not better.
Once a team can deliver excellent results, our key question is what we can remove and retain our excellence. And that's the road to mastery.