A maturity model is a business tool used to assess people/culture, processes/structures, and objects/technology.
Maturity model levels are typically a series of steps of sophistication such as:
Maturity model levels have a range of terminology in various industries such as:
We welcome examples of maturity models. If you know of a maturity model, please let us know by by creating a GitHub issue and/or a pull request.
General maturity models:
Topic maturity models:
P3M3® describes process perspectives. These can be assessed at all maturity model levels.
Two approaches for designing maturity models exist:
Top-down approach: a fixed number of maturity stages or levels is specified first, then corroborated with characteristics (typically in form of specific assessment items) that support the initial assumptions about how maturity evolves.
Bottom-up approach: distinct characteristics or assessment items are determined first, then clustered in a second step into maturity levels to induce a more general view of the different steps of maturity evolution.
Modeling Maturity Levels is a classification system defined by Anneke Kleppe and Jos Warmer in their book MDA Explained Addison-Wesley. The levels characterize the role of modeling in a software project. The concept shows resemblance to the way software processes are rated with the Capability Maturity Model.
There are 6 levels:
Level 0: No Specification: the specification of software is not written down. It is kept in the minds of the developers
Level 1: Textual Specification: the software is specified by a natural language text (be it English or Chinese or something else), written down in one or more documents
Level 2: Text with Models: a textual specification is enhanced with several models to show some of the main structures of the system
Level 3: Models with Text: the specification of software is written down in one or more models. In addition to these models, natural language text is used to explain details, the background, and the motivation of the models, but the core of the specifications lies in the models.
Level 4: Precise Models: the specification of the software is written down in one or more models. Natural language can still be used to explain the background and motivation of the models, but it takes on the same role as comments in source code.
Level 5: Models only: the models are precise and detailed enough to allow complete code generation. The code generators at this level have become as trustworthy as compilers, therefore no developer needs to even look at the generated code.