The Correlation between Software Quality and Maturity Levels

Illustration of the quality control process of a digital product (credit: @Pch.vector)
Summary of CMMI v2.0 maturity levels (source: The Process Group) [1]
Sample CMMI appraisal report with feedback points
  • Provide more customer satisfaction
  • Land new clients more successfully
  • Have better productivity and efficiency with optimized processes
  • Cause less risk due to a well-defined structure
  • Incomplete: The problem should be well-defined
  • Initial: Requirements should be analyzed
  • Managed: High-level design should be completed
  • Defined: Low-level design should be completed
  • Quantitatively Managed: Functional coverage on requirements and test coverage should exceed the optimal point
  • Optimizing: The product should be well-maintained and regularly improved

CMMI For Development (CMMI-DEV)

CMMI Development is an integrated set of best practices that improves performance and key capabilities for organizations that develop products, components, and services. — CMMI Institute

The CMMI-DEV model acts as a guideline on how to apply CMMI best practices in a development environment by defining Goals and Practices. You can take those practices depending on your goal as a checklist or to-do list. The more you do in your daily progress, the higher the quality you can achieve in your software products.

To Institutionalize a Managed Process

A managed process is a monitored, controlled, and reviewed process that is in accordance with a pre-defined policy and involves relevant stakeholders.

  • Establish an Organizational Policy
  • Plan the Process: define and document the plan and the process description, review the plan with relevant stakeholders and get their agreement, and revise the plan if necessary.
  • Provide Resources
  • Assign Responsibility: assign overall or specific responsibility and authority and confirm that the people assigned to the responsibilities and authorities understand and accept them.
  • Train People
  • Control Work Products
  • Identify and Involve Relevant Stakeholders: identify stakeholders relevant to this process, share these identifications with project planners, and involve these relevant stakeholders as planned.
  • Monitor and Control the Process: evaluate actual progress and performance against the plan, review accomplishments and results, identify problems in the execution of the process, take corrective action when requirements and objectives are not being satisfied, and track corrective action to closure.
  • Objectively Evaluate Adherence
  • Review Status with Higher Level Management

To Institutionalize a Defined Process

A defined process is a managed process that is tailored around the organization’s set of standard processes and tailoring guidelines.

  • Establish a Defined Process: select from the organization’s set of standard processes those processes that best meet the needs of the project, establish the defined process by tailoring the selected processes according to the organization’s tailoring guidelines.
  • Collect Process Related Experiences: store process and product measures in the organization’s measurement repository, submit documentation for the organization’s process asset library, document lessons learned from the process, and propose improvements.

CMMI on Agile Environments

After reading the previous chapter, I can hear you grumbling “Yeah, right. Who has time for that when the stakeholders wait for a feature to go live next week/month” blah blah. Because you are “agile” so you do not have time for this “fun stuff”. Wrong!

Software Capability Evaluation (SCE)

Another CMM-based framework that helps when assessing maturity and capability is the Software Capability Evaluation (SCE) model, again by the Software Engineering Institute (SEI). SCE offers a way to measure the process capability of an organization by presenting an approach to compare the organization’s standards with pre-defined ones. This framework was developed in 1994 to document the procedures developed for the Electronic Systems Center (ESC), Hanscom Air Force Base [4].

Scope of SCE (credit: Paul Byrnes & M. Phillip, Software Capability Evaluation Version 3.0 Method Description)

References

  1. The Process Group. (2019, November 04). Improving Capability and Performance With CMMI V2.0 — What Has Changed? Retrieved from http://processgroup.com/improving-capability-and-performance-with-cmmi-v2-0-what-has-changed/
  2. CMMI Product Team. (2010, November 01). CMMI for Development, Version 1.3. Retrieved from https://resources.sei.cmu.edu/library/asset-view.cfm?assetid=9661
  3. CMMI Institute. (2019, October 15). How to Truly Scale Agile Development in the Enterprise — with CMMI. Retrieved from https://cmmiinstitute.com/resource-files/public/how-to-truly-scale-agile-development-in-the-enterp
  4. Members Of The CMM-Based Appraisal Project. (1994). Software Capability Evaluation (SCE) Version 2.0 Implementation Guide (CMU/SEI-94-TR-005 ). Retrieved from http://resources.sei.cmu.edu/library/asset-view.cfm?AssetID=12155
  5. White, S. K. (2018, March 16). What is CMMI? A model for optimizing development processes. CIO. https://www.cio.com/article/2437864/process-improvement-capability-maturity-model-integration-cmmi-definition-and-solutions.html

--

--

Articles made by the techiest people at Just Eat Takeaway.com

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store