A little about CMMI and its overheads
The Software World is going agile by embracing practices and styles that best suit their business vision and achieve a market edge by keeping customer satisfaction at an all-time high. The practice areas include: CMMI and Agile (Scrum).
The Capability Maturity Model Integration (CMMI), is a well-structured approach in the software development stage. It provides a framework that guides users on what process areas to follow. These process areas outline all stages in the Systems Development Life Cycle (SDLC). Companies that practice CMMI consistently generate higher product quality and customer satisfaction, because it provides better ways to manage a project’s data and documentation. However, it demands considering additional resources, such as: documentation, a substantial amount of effort, higher costs, and extra time.
Avoiding CMMI overheads
The limitations in CMMI are covered by using the Scrum approach from the Agile Manifesto, this educates users on what-to-do.
In Agile, we focus more attention to the things on the left rather than on the right:
Individuals and interactions over processes and tools
working software over comprehensive documentation
Customer collaboration over contract negotiation
responding to change over following a plan
Producing a higher quality product that responds to requirement changes in any stage of development, is the most valuable approach in this scenario. Scrum believes in delivering frequent business values that serve as a working software, while also increasing customer satisfaction as the software continues to grow. Scrum welcomes changes at any time and accommodates them with no foreseeable costs. It believes in face-face communication rather than relying on the artificial means like, tools and other techniques. CMMI and Scrum can be easily merged because they facilitate each other by fulfilling one another’s voids.
CMMI & Scrum Altogether
Below is a brief mapping area that describes the process areas of CMMI engaging Scrum methodologies:
CMMI Maturity Level 2 and Scrum systematically work together to provide an easy mapping process. They complement each other by describing what-to-do and how to do it. (Ref. http://cmmi.de/cmmi/reqmsg-1-manage-requirements)
|ReqM – CMMI||Scrum|
|SP 1.1 Develop an understanding with the requirements providers on the meaning of the requirements.||
|SP 1.2 Obtain commitment to the requirements from the project participants.||
|SP 1.3 Manage changes to the requirements as they evolve during the project.||
|SP 1.4 Maintain Bidirectional Traceability of Requirements||
|SP 1.5 Ensure that project plans and work products remain aligned with requirements||
How Project Planning in CMMI is mapped with Scrum
The mapping is elaborated in the table below:
Configuration Management is another process area in CMMI Maturity Level 2, but it is not specifically addressed by Scrum. This does not reflect on the bond CMMI and Scrum are capable of. Measurement and Analysis in Scrum is implemented by using Burndown Charts that reflect the remaining efforts required to get the work done. These charts can effectively track the overall progress of any project, and can tell you if a project is on-time and on-budget.
For Project Monitoring and Control in CMMI, we have Burndown data and Release data in Scrum. Daily Scrum meetings are conducted to determine where Sprint and Release Burndown data are collected, reviewed, and analyzed for the project’s health. The Process and Product Quality Assurance in CMMI is an important task that is repeatedly performed by the Scrum Master. The Scrum Master carefully observes team members to ensure they are following the Scrum Process and if needed makes changes accordingly.
CMMI is an group consisting of the best practices from the experiences of market leaders in the software industry. It provides information on where to go and exactly what to achieve, and it can easily improve an organization’s culture. Scrum is the best coach in providing solutions and reaching goals recommended by CMMI’s best practices. CMMI and Scrum complement each other by carrying out the entire effort effectively. They work as a combination of discipline and professionalism, and they respectively add remarkable business value to organizations.