Samuel A. Malachowsky

Senior Lecturer, Department of Software Engineering
Project Management Professional (PMP)


What is a maturity model? Use this simple analogy when introducing the concept.
Keywords Quality, Classroom Engagement
2014-11-06

Explaining the Concept of a Maturity Model

Plant Drawing

A Plant is an ideal basis for explaining a maturity model

Understanding the Capability Maturity Model (CMM) is a vital part of any Software Engineering process curriculum.  I have developed a narrative that can be used to explain the concept and the benefits of a Maturity Model, including assessment and a path for continuous improvement.

Imagine a plant - a vegetable plant - that produces edible fruits.  You're a farmer or even a casual backyard gardener and would like to know how that plant is doing.  As the owner of that plant, you would like to know if it's healthy, how it's progressing, and if it's worth the space and resources it is using.  For practical reasons, you would like to take a simple but quantitative approach so that any passer-by could assess your plant and come to the same conclusion that you have - so you think about the things that may be an indication of plant quality or maturity, what you may call "Plant Assessment Criteria"

Plant Drawing with some labeled quantetative elements

Plant Assessment Criteria

  • Height and Width
  • Number and Color of Leaves
  • Number, Size, and Color of Fruits
  • Thickness of Stem
  • Root Depth and Width
  • Number of Root Tips

You decide to check each of these criterion and simply note "Good" or "Bad" for each.  Quite satisfied with yourself, you go about judging each plant using your newly developed system.  After a while, you make some realizations.

  • "Good" and "Bad" are too black and white - what if a plant is "So-So"?
  • How could others know what is "Good" and "Bad".  Would they come to the same conclusion?
  • What about the age of the plant?  A weeks-old plant is certainly different than a mature fruit-bearing plant.

Given these realizations, you conclude that a more complex measurement system is needed, so you create a scale for each area of assessment:

Maturity Plant Height Plant Width Leaf Quantity Leaf Color Number of Fruits Size of Fruits Color of Fruits Thickness of Stem Root Depth Root Width Number of Root Tips
1 0-1 Unit 0-0.5 Units 1-10 Leaves Light Green (Avg.) No Fruits No Fruits No Fruits 0.01-0.02 Units 0-1 Units 0-1 Units 0-5
2 1-2 Units 0.5-1 Units 10-25 Leaves 1-3 Fruits 0.1-0.2 Units (Avg.) Green (Avg.) 0.02-0.03 Units 1-2 Units 1-2 Units 5-15
3 2-4 Units 1-2 Units 25-40 Leaves Medium Green 3-7 Fruits 0.2-0.3 Units Yellow 0.03-0.04 Units 2-3 Units 2-3 Units 15-30
4 4-7 Units 2-3 Units 40-75 Leaves 7-11 Fruits 0.3-0.4 Units Orange 0.04-0.05 Units 3-4 Units 3-4 Units 30-50
5 7+ Units 3+ Units 75+ Leaves Dark Green 11+ Fruits 0.4+ Units Red 0.05+ Units 4+ Units 4+ Units 50+
Plant Drawing with a chart of some quantetative elements and values

With the Maturity Model, We can Properly Assess the Plant

With this scale, you are satisfied that any competent observer could look at a plant and come to the same conclusions as any other.  This is, in essence, a Maturity Model.  It is useful because it allows objective assessment and comparison. But Maturity Models have another major benefit.  Imagine, now, that you are the plant itself.  You are aware that you are healthy and nothing seems to be hurting, but you also wonder how you compare to others like you.  A maturity model would allow you to gain an objective assessment of yourself.  Assuming you are honest and realistic in your self reflection, you should arrive at the same numbers as anyone on the outside.

Plant Drawing with a thought bubble listing some personal goals

From the plant's perspective, the Maturity Model provides quantifiable goals

As the plant, you expect to be a level 4 in maturity because that's where all of your friends seem to be.  Your self-assessment finds many areas are indeed 4's and there is even a 5, but, to your disappointment, there are several 3's as well.  This is where the second purpose of a Maturity Model comes into play.  It can also give you a basis for quantifiable goals.  For example, you, the plant, have found that you are 8 leaves short of a level 4 maturity in that area.  Though you need to figure out yourself how to grow those leaves with resources you have available, the Maturity Model has given you a specific goal to strive for.

There are a number of maturity models, the most relevant being the Capability Maturity Model (CMM).  In the case of the CMM, assessment and improvement goals are directed towards the area of software development process maturity.  Each level of maturity has an associated attribute, and process areas are divided logically between these levels.  For each of these key process areas, there are also a host of assessment and goal-setting aids such as goals, commitments, abilities, activities, measurements, and verifications.  The major maturity levels are as follows:

Level Focus Key Process Areas
1-Initial None A Commitment to Begin Assessment and Improvement
2-Repeatable Project Management Requirements Management Software Project Planning Software Project Tracking and Oversight Software Subcontract Management Software Quality Assurance Software Configuration Management
3-Defined Engineering Process Organizational Process Focus Organizational Process Definition Integrated Software Management Training Program Software Product Engineering Intergroup Coordination Peer Reviews
4-Managed Product and Process Quality Quantitative Process Management Software Quality Management
5-Optimizing Continuous Process Improvement Defect Prevention Technology Change Management Process Change Management

As you dive into this, remember the two major goals of a Maturity Model: to allow objective assessment and comparison, and to give a basis for creating quantifiable goals.

Related Articles:

 

Instructional Changes Brought About by COVID-Necessitated Classroom Tools Link to Article

The teaching environment and tools nescecitated by the COVID pandemic has enabled some surprising new teaching efficiences. (Keywords Classroom Engagement, Online Teaching, 2020-10-21)
 

Distributed/Scaled Agile Class Activity Link to Article

In this classroom activity, the difficulties associated with distributing project work between agile teams is demonstrated and resolved. (Keywords Agile, Classroom Engagement, Classroom Activities, 2017-03-23)
 

Maintenance Types Activity Link to Article

This activity will help cement the three maintenance types in student's heads. (Keywords Classroom Engagement, 2016-04-28)

Additional Articles:

 

Engineering a More Effective Resume Video Link to Article

Watch this video to learn how Engineers should approach adding skills and experience to their resume. (Keywords Resume, Career, 2020-09-25)
 

Three Things You Should Know About Software Engineers Link to Article

Here are three things that you should know about the way Software Engineers approach the world around them (Keywords Career, 2019-03-18)
 

Scrum Project 1: Brainstorming and Elaboration Link to Article

Use this brainstorming activity to kick off a Scrum project or any group-based endeavor. (Keywords Agile, Classroom Activities, 2014-10-24)
Lovingly Hand-Coded by Samuel Malachowsky · © 2020 · W3C Validation · CSS Validation