Skip to content

qualiticcommunity/qualiticcommunity.github.io

Repository files navigation

Qualitic Maturity Model

Qualitic Maturity Model (QMM) is a guiding principle to develop successful and quality software, following a set of clear and pragmatic rules.
It is a new approach to measure, guide, and empower the quality of the product development process.
To jump ahead and get started with QMM, see here

What is a maturity model?

Maturity Model is a means to help software engineers improve their product quality, through continuous improvement of the development process.

Quality can't be added in the end, it is a matter of process.

While there exist other models helping with maturity in business areas and processes (like CMMI), Qualitic maturity model mainly focuses on the technical side of product development. i.e., what is the quality meant to be, when we strive for a high-quality product, regardless of what is the product itself, how it can satisfy the user requirements, how much it costs, etc.
There are also some other models targeting quality or development process, like Google Test Certified ladder or Maturity Model at the end of Continuous Delivery book by Jez Humble.
While they have helped enrich the current maturity model, the biggest difference between QMM and other maturity models is that it tries to be more pragmatic, by demonstrating the technical details.

Why QMM?

As developers, at some point, we've all experienced struggling for quality and criticizing what is not good enough and what should be done, for the sake of quality. But, what is enough for a product's quality? What else can be done to improve it even more? What is supposed to be postponed to make a more important step toward quality?
Qualitic Maturity Model helps define software quality, as well as prioritize the steps toward it, in a clear and pragmatic way.

History

In early 2019, a group of software engineers at Sahab started to move from quality as an abstract concept, to an explicit and pragmatic definition. Through this journey, they tried to define (or collect) various maturity items. Some other companies like A'van and Hamravesh helped to validate the items, to ensure that they're general (yet useful) enough as software quality items.
After several sessions, an initial draft of quality items was created. Then the team tried to prioritize these items in the form of 5 levels of maturity.
On 12 November 2019, the first conference of Qualitic was held in Tehran, announcing the maturity model, publicly, for the first time.
Since then Sahab has actively used QMM and tried effectively to enrich it - through adding, removing, and editing its items.

When not to use QMM?

Although it's ideal for a product to be developed at the highest level of quality, there's no general advice for all products to progress at a specific level; as there are some other factors that affect what level of quality a product needs.
Product lifetime is a key indicator that guides how much effort pays for achieving a specific level of quality. As a harsh example, it's unwise to set up an automated data migration (a maturity item at level 3 of QMM) for a one-week programming assignment project!
On the other hand, limited time is definitely not an appropriate excuse for ignoring quality practices.

If you don't have time to do it right,
you must have time to do it over!

John Wooden, American basketball coach and player

A very common misconception is that quality takes time and money. Actually, anything you do in a project needs time and money! But, in the long term, quality pays back more than it costs as the project grows. (That's why short-lived projects should refuse some quality practices.)

Maintenance and Contribution

QMM is an open-source project and its maintainers highly try to avoid any exercise of authority, while keeping it usable, maintainable, and practical.

Feel free to suggest any changes to Qualitic Maturity Model, by opening pull requests or reporting issues.

If you like QMM, please support us by sharing it. And let us know what can make it better for your team/organization.
Share on LinkedIn Tweet Post on Reddit

Getting started

Qualitic Maturity Model is described in detail here.