This post is oriented to organizations that have used CMMI as model for process definition and improvement, have (or not) achieved some maturity level, and are interested in evolving their processes to more agile, lighter and Lean-er ones. It is also oriented to Agile organizations that need to refine y formalize their processes, and/or obtain a CMMI certification.
Before going into details, it is important to understand what CMMI and Kanban are.
CMMI is “a model that contains the essential elements of effective processes for one or more areas of interest and describes an evolutionary improvement path from ad hoc, immature processes to disciplined, mature processes with improved quality and effectiveness” . [CMMI-DEV v1.3 Glossary] It is a collection of best practices that organizations could adopt in order to establish disciplined and homogenous processes applied in the projects.
Kanban is “the evolutionary change method that utilizes a kanban (small k) pull system, visualization, and other tools to catalize the introduction of Lean ideas into technology development and IT operations” . [D. J Anderson, Kanban: Successful Evolutionary Change for Your Technology Business]
So how do they fit together?
Yuval Yeret, in “Mashing up Kanban & CMMI – A potential love story?” matches the Kanban practices to the CMMI maturity levels.
I believe that CMMI-companies would be interested in some more details; therefore I try to go a bit deeper in this topic.
CMMI organizations take the following advantage of Kanban:
- CMMI lacks a process area about managing organizational changes. However, the capability to drive the change smoothly towards the organizational objectives is a key for the success of the initiative. Kanban facilitates the change programs making the solutions evolve and be adopted without radical changes in processes, job titles and responsibilities that provoke resistance. David J Anderson has a good post on Developing change management capability in the CMMI context.
- The purpose of the Organizational Process Focus process area is to perform the process improvement activities based on thorough understanding of the strengths and weaknesses in the current processes. To my understanding the primary objective of an organization is not simply to have effective processes, rather to have them integrated in an efficient workflow which allows the organization to meet customers’ needs, be competitive and profitable. In this sense, applying Kanban to orient the process improvement activities towards better workflow performance will amplify the results and the benefits from the initiative.
- Project management processes are probably the ones that take most advantage from using Kanban. All the practices related to monitoring project progress, stakeholder involvement, project issues, collaboration and coordination issues are visualised on the Kanban board. This facilitates significantly (even eliminates the need to look for data for) the report preparation and the issue resolution. In addition, ‘Manage flow’ elegantly focusses the attention and the effort of the whole team, not only the project manager, on delivering on time and with good quality.As a consequence, the project pace accelerates, project delays and cost overruns go down, and the effort dedicated to project management decreases.
The usage of real data of lead time and delivery rate facilitates a lot the estimations and the predictability.
Is not this a good reason to start with Kanban?
- Process and product quality assurance: The Kanban practice ‘Make process policies explicit’ directly supports a sound implementation of this process area.
- For High Maturity organizations, the process performance baselines are easily established and continuously used for project management. In fact organizations at ML2&3 also take advantage of knowing quantitatively the workflow performance.
- Causal analysis and resolution practices are applied at any level, not only at ML5.
Kanban organizations take advantage of CMMI in the following ways:
- Kanban provides a means for identification of problems in certain processes in the workflow, but it does not provide solutions for all of them. The best practices from CMMI will guide process refinement and formalization.
- The Organizational Process Performancepractices, especially if implemented following the Six Sigma approach, will lead to better understanding of process variation, studying both the special and the common causes for it, and identifying the vital few influencing factors. Understanding process variation as well as stabilizing process performance is important for achieving predictability.In addition, developing process performance models would enable making dynamic decisions related to project objectives.
- CMMI extends the scope of improvements at organizational level with the processes areas of Organizational Process Definition, Organizational Training, Measurement and Analysis, Configuration management, Decision Analysis and Resolution, Organizational Performance Management.
- For organizations that need a formal recognition of their maturity based on a CMMI model, a SCAMPI A appraisal is the corresponding way to obtain it.
Related to this, you could see Hillel Glaser post Short-Cut to CMMI: Lean First
- If you are CMMI company, you can start using Kanban, if you are interested in speeding up your projects and/or services, reducing project delays and cost overruns and focussing the development/ operation activities on what your customers value.
- If you already apply the Lean-Kanban principles and practices and need to formalise and refine your processes with effective practices, as well as obtain an official certification, CMMI is the right model for you together with SCAMPI, the standard appraisal method for it.