At a couple of recent conferences, some people have asked me about one “maturity” model or another. As one of the few people who has read the CMMI book from cover to cover, here’s what I think: In process-speak, the notion of maturity is backwards.
A mature entity, in biology, is one that can survive and thrive without parental support. A mature being is one that has achieved an age and stage where it can reproduce, mutate, and diversify. In general, diversity and sustainability come from interaction with other mature creatures. An animal or plant attains and sustains maturity either by adapting to its environment, or by being adapted to it already, but no species is adapted to all environments.
A mature person is one who is highly conscious of when it’s appropriate to follow rules and when to break them. A mature person is largely self-guided. Only in exceptional circumstances does a mature person need to refer to or appeal to a rulebook at all. In such cases, the issue is that someone believes that the rulebook isn’t working, and in such cases, consensus between mature individuals and organizations—not the rulebook itself—makes the determination as to what should happen next. Mature people know that rulebooks need to be interpreted.
We don’t consider a person mature when he says or does the same thing over and over again, when he answers by rote, when he appeals to authority, or when he goes through the motions. We consider a person mature when he is able to think and perform independently, when he behaves responsibly and respectfully towards others, and when he accepts responsibility for his actions. We also don’t mind when a mature person goofs around every once in a while, as long as little or no harm comes of it.
We generally think of mature people as being relaxed and easy-going, rather than rigid and uptight. Mature people who can’t get their way immediately don’t stamp their feet, shout, or hold their breath until they turn blue. Mature people recognize the possibility that other people’s values, actions, languages, cultures, and means of expression are worthy of respect. Mature people question themselves at least as quickly and as closely as they question others. Mature people are forgiving and fault-tolerant, recognizing that immature people often need to make mistakes in order to learn. Mature parents don’t scare the kids, don’t yell at them, don’t try to protect them from every peril. Mature parents provide a supportive environment where kids can make mistakes and learn from them.
One more thing about mature beings: they eventually get old, and they die, to be replaced by other mature beings.
So what does all this mean for “process maturity”?
If maturity means the same thing for processes as for other living things, a genuinely mature process, whether for individuals or for groups, should incorporate freedom, responsibility, diversity, adaptability, and self-sufficiency. A genuinely mature process shouldn’t emphasize repeatability as a virtue unto itself, but rather as something set up to foster appropriate variation, sustainability, and growth. A mature process should encourage risk-taking and mistakes while taking steps to limit the severity and consequence of the mistakes, because without making mistakes, learning isn’t possible.
What do you think? How do process “maturity” models stack up?
Note: This post was inspired by Jerry Weinberg’s writing, in particular the material on “maturity” in Quality Software Management, Volume 1: Systems Thinking. For an unusually sharp passage on the subject, see pages 20 and 21 (also quoted in this blog post).
Hi Michael!
I *COMPLETELY* agree with your characterization of maturity models being backwards. That is, assuming your definition is what was actually meant by the model.
One thing I've been working on has been spreading information about CMMI as a model that does *not* actually emphasize "repeatability" or rigidity as a sign of maturity.
Having said that, I fully acknowledge that this view of CMMI is very prevalent and has been used repeatedly (pun very much intended) to get appraisal results.
However, appraisal results are not truly the best arbiter of maturity. Actual beneficial results are a much better measure.
For the record, "repeatability" is not a goal or level in CMMI. (Which version did you read?) And even if it were, it would not be "repeatability" in the cookie cutter sense, rather repeatability in the predictability of successful results sense.
True, repeatability has in it certain baggage from the Tayloristic production line paradigm, but in true process improvement — especially with respect to people processes rather than machine processes — the paradigm doesn't apply and gets in the way.
Take care!
–>> Hillel
I like this take on the meaning of the word "maturity" and what it then asks about applying it to models. At the highest levels of, say, the CMMI(R), I do believe this is what is expected of an organization. But at the lower levels, there is a lot required of an organization to get to a repeatable state on basics.
What I think is important to remember about such models is that it is a scale of maturity. You are not "mature" when you meet the expectations of Level 2 and 3. That many organizations stop at Level 3 and view Levels 4 and 5 as not necessary or too expensive, may be the most telling things about the view of maturity.
I think it is the upper levels where the maturity you point out is expected to occur. At Levels 2 and 3, predictable, repeatable behavior is a major achievement for many organizations. Because that can be of great benefit to them compared to more ad hoc work, stopping at that point can seem quite sufficient.
There is some maturity demonstrated by getting to Level 3, but definitely not what you describe.
Loved the post.
It so much fun reading about biological maturity and thinking about CMMI. Laughing through my tears knowing that the CMMI is knocking at my company’s door step.
Consider Kohlberg's model of moral development:
http://en.wikipedia.org/wiki/Kohlberg's_stages_of_moral_development
Fits perfectly into your write-up here from my point of view. And it fits to Jerry Weinberg's cultural patterns in organizations.
Regarding the learning-supportive I recently saw an interesting video on such an environment in Tinkering School:
http://www.ted.com/talks/gever_tulley_s_tinkering_school_in_action.html
(Try not to laugh at the word "decoration".)
Process maturity focusses too little on the learning aspects of human beings. Learning is key to humans from my point of view. If I stop learning, I'll be dead. This the basic flaw of most maturity models; most – not all.
I'm not sure I completely agree. A mature person has the advantadge of experience and can therefore use that as a basis if a similar event occurs. He is free to change if needed, but this is the same with a maturity model of (for example) TPI (Test Process Improvement) which says that on the most mature level (Optimized) self improvement is the key. This can only be done when change is possible obviously.
I don't know that much about CMMi, but a loot more about TPI and can therefore not completely map my knowledge to your statement 🙂
"One more thing about mature beings: they eventually get old, and they die, to be replaced by other mature beings.
So what does all this mean for 'process maturity'?"
Process maturity may result in the same (more or less… they will not "die" just because they are old…). If the organization it’s mature to understand and justify that a specific process in no longer needed (no added value for doing it), then the process should die, be replaced or simply be improved – IMHO, this is the core about maturity, never stop to learn and never stop to improve (continuous improvement based on what you learned/experience/models).
“If maturity means the same thing for processes as for other living things, a genuinely mature process, whether for individuals or for groups, should incorporate freedom, responsibility, diversity, adaptability, and self-sufficiency.”
Freedom: tailoring decisions.
Responsibility: all processes should identify the responsible roles for the activities/steps.
Diversity/Adaptability: tailoring decisions, different software life cycles, different revision types (informal, formal commentary, formal walkthrough, formal full reading, …),…
Self-sufficiency: are mature persons self-sufficients? I believe not. We live in a community interacting with other persons, providing inputs and outputs… as happens also with mature processes. If you see mature a processes as a self-sufficient, then I would dare to say that you don’t know what high maturity means (it’s all about relation with other processes – can you imagine for example a mature Project Management without Risk Management).
“A genuinely mature process shouldn't emphasize repeatability as a virtue unto itself, but rather as something set up to foster appropriate variation, sustainability, and growth. A mature process should encourage risk-taking and mistakes while taking steps to limit the severity and consequence of the mistakes, because without making mistakes, learning isn't possible.”
True… or to be more precise… partially true.
A mature process is (in a very simplified way) a set of steps recommended to achieve an intended output.
Even when you take risks (anyone knows a project without risks?), a mature process should support you with other processes to guide the decisions (to take the best decision, based on your experience… if quantitative experience even better/more mature).
Encourage risk-taking just by itself it’s not the best methodology. Encourage risk-taking based on justified decisions… that sounds more like a mature organization.
I think that comparing a process with a biological entity is a big ask, since a process is not sentient.
The issue is really whether we are talking about mature processes or mature process users.
I consider a maturity model to be a set of guiding principles for process users to follow. The more mature process user will understand the impact of deviating from the rules. The more mature the user the better the understanding of what risks are appropriate or not.
I think CMMI does purvey that even though I don't agree with everything in the model(s).
@Hillel…
There are two people whose work with the CMM I'm aware of and that I respect: yours, and Judah Mogilensky's. Judah has a wonderful and surprising chapter on the CMM in The Gift of Time, in which he describes a phenomenon he observes called Pathological Box Checking. This is an entirely predictable side effect of a maturity measurement scheme. As you say, "appraisal results are not truly the best arbiter of maturity. Actual beneficial results are a much better measure." "Mature" organizations would recognize the disconnect, wouldn't they? And if they did, wouldn't they quickly decide that they didn't need the CMM? It reminds me of software testing certifications.
@Scott…
"…at the lower levels, there is a lot required of an organization to get to a repeatable state on basics." I agree, and I'd argue that at that point, a focus on the CMM would be a distraction, or as Shrini Kulkarni likes to say, "goal displacement".
@Markus…
I just found out about The Tinkering School last week. The video is deeply inspiring. The bit about decoration (and the explanation for it) is fascinating. Is decoration a "mature" thing to do at the point where it's introduced?
@Joel…
Responsibility: all processes should identify the responsible roles for the activities/steps.
But processes don't do anything. People do stuff. Responsibility is more than simply identifying who does what; it requires offer, acceptance, and commitment.
I think you and I are talking about different things when we talk about self-sufficiency. You're talking about interdependence with respect to other people; I agree with that. I'm talking about self-sufficiency with respect to the process manual. That's very different.
if quantitative experience even better/more mature.
Here I disagree with you in the strongest possible way. There is nothing inherently mature about a number. How is it more mature for you to describe how much you love your (parents, partner, child) by a number, rather than in words? How is it more mature to describe your satisfaction and comfort, your value of the work that you do, with a number rather than a narrative. The emphasis that we place on numbers above all, as Jerry Weinberg would say, is not mature; it's infantile.
@Ally…
I think that comparing a process with a biological entity is a big ask, since a process is not sentient.
Me too. Which is why I object to the use of the (again, as Jerry would say) loaded word "maturity".
—Michael B.
Joel: "if quantitative experience even better/more mature."
Michael: "Here I disagree with you in the strongest possible way. There is nothing inherently mature about a number. How is it more mature for you to describe how much you love your (parents, partner, child) by a number, rather than in words? How is it more mature to describe your satisfaction and comfort, your value of the work that you do, with a number rather than a narrative. The emphasis that we place on numbers above all, as Jerry Weinberg would say, is not mature; it's infantile.”
Allow me to disagree with you on that.
I'm not a numbers addict but our relation to processes can’t be compared on that way to family relations.
If it’s only to argue if I like or not a process, then I don’t need numbers.
If I want to argue if its results are according to what was expected, then I need something else more than just my opinion.
But this is what I believe… and everyone else is free to agree or not… no need for number on that. _:)
Allow me to disagree with you on that. I'm not a number addict
Joel: Responsibility: all processes should identify the responsible roles for the activities/steps.
Michael: But processes don't do anything. People do stuff. Responsibility is more than simply identifying who does what; it requires offer, acceptance, and commitment.
Correct. That’s why you need to measure the results (and yes… you also need audits… it’s the human nature… you need to trust and verify): to ensure that the responsible persons are really doing what is expected. If they are not, then you need to understand why (lack of knowledge, not committed, outdated process, …).
FOr me "process maturity" means a process which adds value to the project's work , guides ( not drags) me when i need guidance , is not hard to understand/follow and explain …basically works for the project ( more importantly the project team)
BUt i think the CMMI school or similar folks maybe equate it more with a process with has matured over time to a stage where it can not/would not be changed hence there is no room for learning & flexibility .
Maturity is not the same as old age …except for maybe scotch whisky 🙂
thanks
@Joel…
Allow me to disagree with you on that.
Dude! You are welcome, encouraged, to disagree. Either we'll work it out (in which case at least one of us will learn something), or we won't (in which case there's still a strong possibility that at least one of us will learn something).
I'm not a numbers addict but our relation to processes can’t be compared on that way to family relations.
For this, I'd like to appeal to the four questions: What might happen if we did consider our processes as we consider family relations—not even exclusively that way, but partially? What might happen if we didn't consider processes and family relations in similar ways? What might not happen if we considered processes and family relations similarly? What might not happen if we didn't consider them that way? Please feel free to ponder the questions for a while before you answer.
I contend that there are excellent reasons to restore the position of qualitative measurement. One excellent reason is that qualitative measurement tends to be excellent first-order measurement—direct, obtainable with a minimum of complication, and strongly associated with human values. In fact, qualitative measures always end up taking precedence over quantitative ones. As Jerry Weinberg points out, decisions about quality are always political and emotional. We don't make decisions based on the numbers; we make them based on how we feel about the numbers. That is, whatever the number might be, we always decide based on whether we believe that the number is "good" or "bad" with respect to something that we value.
…you need to measure the results (and yes… you also need audits… it’s the human nature… you need to trust and verify): to ensure that the responsible persons are really doing what is expected.
Yes, you need to measure. But you might not need to measure quantitatively. You know, as well, that if you look at the root of the word, "audit" doesn't mean "to quantify". It means to listen. The story being told to the listener may be enriched by numbers; maybe not. It might also be distorted by numbers. I emphasize: it's not that numbers are valueless. But just as we choose our words carefully, thoughtfully, and with attention to risk, so should we do with numbers.
But this is what I believe… and everyone else is free to agree or not… no need for number on that.
1. [grin]
@Sunjeet
I like your description. Thanks for posting it.
—Michael B.
Hello from Russia!
Can I quote a post "No teme" in your blog with the link to you?
@Anon…
Thank you for the implied compliment.
You're welcome to quote me or link to my blog or Web site. If you're quoting me, attribution (letting your reader or listener know the original author was) is polite to the the author and helpful to your readers/listeners.
Cheers,
—Michael B.
I completely agree with the statement: "without making mistakes, learning isn't possible". But do we not find our justice system mature (to make another example). They have a set of rules and laws we all need to follow. If not for these rules, would we be mature? Do we not need a set of basic (ethic) rules in order to be mature? If we all had the freedom to change these rules, there would be lawlessness and chaos.
The same applies to processes in my opinion. A maturity Model should therefore have a basic set of rules in order to shape and sustain it. But the more mature the process is, the more the model should be adapted to this.
For example in TPI NEXT, an example of a checkpoint if the test process is mature in the "optimizing" level (highest) is: "An adapt way of working by the stakeholder to suit demands of the test process is jointly evaluated by the test organization and the stakeholder". Here your statement (only by making mistakes, we learn) is applicable. A mature person (or process) should be evaluated constantly in order to improve itself.
So in conclusion, it’s not the maturity model itself that is the problem, it’s the checkpoints it uses to assess the maturity.
A number of replies, all at once.
@Reinder
(in your first comment)A mature person has the advantadge of experience and can therefore use that as a basis if a similar event occurs.
That's right; a mature person. But a process is not a person, nor is a process model. A process model, in and of itself, has no experience. The mature people who may have experience with the process model or without it should be able to use their experience and their knowledge in whatever way they see fit at any stage, not merely at the Optimized stage (or whatever stage at which the model says it's okay for people to use their own approach, rather than the model's).
(in your second comment)
But do we not find our justice system mature (to make another example). They have a set of rules and laws we all need to follow.
Yes. I agreed to follow that system. I voted. I agreed that if the person that I voted for were not elected, I would live with the results. The person who was elected agreed to represent all of the people in his constituency, not just those fascinated with making rules. I agree that the laws that are set down are necessary to peace, order, and good government (and that's from my Canadian citizenship; my American citizenship would go for something more radical: life, liberty, and the pursuit of happiness). If my friends and I don't like the people who got in, we can vote them out.
But when it comes to maturity models, I didn't vote for them or the people who produced them, and I'm not a citizen of the country that they purport to govern. The people who set out these "rules" weren't elected. They are neither representative nor representatives of the people who are required to work under those rules. Nobody voted for the rulemakers. The rulemakers don't have to live with their consequences; that is, they don't actually do the work that will be governed by these rules. In many, most case, they don't know how to do that work. In many, most cases, they have a highly linear model of how to do that work. Many of the people who participated in the drawing up of the rules have given up on the process in disagreement, frustration, and disgust.
An example of a checkpoint if the test process is mature in the "optimizing" level (highest) is: "An adapt way of working by the stakeholder to suit demands of the test process is jointly evaluated by the test organization and the stakeholder".
Repeat after me: The test process does not put demands on the stakeholder. The test process does not put demands on the stakeholder. The test process does not put demands on the stakeholder. We're a service to the stakeholder. The waiter doesn't put demands on the diner; the suit salesman doesn't put demands on the buyer; the paramedic doesn't put demands on the patient.
It might be okay for the tester to put requests to the customer, or for the tester to give advice to the customer. But putting demands on someone to who you are in service is not mature. It's the opposite of maturity. It's infantile. In addition to that, once again, processes do not put demands on anybody. People do that (and immature people, in my view).
Here your statement (only by making mistakes, we learn) is applicable. A mature person (or process) should be evaluated constantly in order to improve itself.
And an immature person should not?
Answer me this: the organization, the committee that created TPI: what maturity level would it rate?
Cheers,
—Michael B.
Amazing as always
[…] Also – Maturity Models have it backwards […]
Process senescence might be a better term. F. W. Taylor’s work applied to mass production of precision manufactured items. “Maturity” in the software creation context is no more relevant than Deming is to software quality. The value (on a scale of zero to one, probability-style) is nonzero but it’s nowhere near unity.
Michael replies: I love the term “process senescence”. Thank you for that.
[…] flawed and depends on your underpinning assumptions and experiences of maturity modelling – there are those who say they don’t work and there are highly successful examples of practice, such as IIP using a Participatory Integrated […]
this reminds me of those old trees who send out generically identical clones, so they can live for thousands of years in giant colonies that share a network of roots. Much like those trees, a mature process should be both rooted and dynamic, growing and changing constantly.
[…] growing popularity of TMMI, maturity models are starting to encroach upon the practice of testing. Michael Bolton thinks that they unnecessarily hem us in from changing our practices when the times call for […]
[…] it’s a useful concept at all. Unsurprisingly, Michael Bolton has written about this before, coming down hard against maturity models, in particular the TMMi. Despite those arguments, the only problem I really see is that the TMMi […]
An old turtle that is in pain and cannot move its joints very well is mature. So is the art and practice of blacksmithing, but it’s been replaced with better ways of operating now too. It is time we ditched the word “maturity” when speaking about the health of a system. For example, in software delivery environments, why don’t we just focus on doing what is “healthy” (which may change depending on the context, product, desires, etc at the time).