Implementing Scrum (Agile) and CMMI Together


Product and Process Quality Assurance (PPQA): Some basic PPQA activities are being done naturally when the Scrum Master checks that the Scrum process is being followed. Other PPQA activities are completed when a team performs code reviews, document reviews and testing. The Scrum Master also plays a role of removing process barriers and inefficiencies. However, Scrum does not specifically call out a level of objective process and product check, nor does it state that particular standards or processes should be defined and used. Therefore Scrum does not automatically implement PPQA. However, refinements can be made such that it does.

Supplier Agreement Management: There are no practices in Scrum that deal with the selection and management of suppliers.

Generic Practices: Approximately half of the Level 2 Generic Practices of Requirements Management, Project Planning and Project Monitoring and Control are implemented by Scrum. A mapping of these is at .

Measurement and Analysis: The purpose of Measurement and Analysis (MA) is to develop and sustain a measurement capability that is used to support management information needs. There are no practices in Scrum that establish a measurement program similar to the expectations of MA. However, the measures in Scrum can be used to implement MA. A mapping showing the relationship between CMMI and Scrum measurements is at

implementing scrum pic 5

How about Level 3?
There are two main areas where Scrum has gaps compared to Level 3. One is in the CMMI expectation that project data and lessons are shared among projects via a common process asset library (or repository). Second, the expectation that the engineering phases of requirements, design, implementation, verification, integration and validation are well defined and implement the Level 3 engineering practices. These CMMI concepts can be done in an Agile/Scrum environment, but they don’t come with the common Scrum definition.

Scrum does suggest implementing Communities of Practice, to reach across teams to share lessons learned, and Retrospectives within a team. These ideas could certainly be used to populate an asset library and thereby codify best practices and tailoring guidelines. The following Level 3 components therefore are not readily implemented by Scrum without additional work:

  • Organizational Process Focus
  • Organizational Process Definition
  • Organizational Training
  • Integrated Project Management
  • Risk Management
  • Decision Analysis and Resolution
  • Some engineering Specific Practices (e.g., requirements validation and verification data analysis)
  • Generic Goal 3 (i.e., using an organization-wide and tailored process with measurements)

Scrum is a good implementation for some of the practices in Level 2. Therefore, a group can use Scrum and CMMI together. All the remaining practices in Levels 2 and 3 can be implemented while using Scrum.

1. Potter, N., Sakry, M., Making Process Improvement Work - A Concise Action Guide for Software Managers and Practitioners, Addison-Wesley, 2002.
2. Software Engineering Institute Capability Maturity Model Integration,


About the author

Neil Potter's picture Neil Potter

Neil Potter is co-founder of The Process Group, a company that consults in software engineering process improvement. He has 14 years of experience in software design, engineering, and process management. For six years, Neil was a software design engineer at Texas Instruments, Dallas, developing electronic design automation software. The last two years at TI, he was a manager of a software engineering process group performing consulting within TI in America, England, and India. Consulting included software project planning, risk management, estimation, SEI CMM, and inspection. Neil is an SEI-authorized lead assessor for CBA-IPI process assessments. He has a B.S. in computer science from the University of Essex in England.

AgileConnection is one of the growing communities of the TechWell network.

Featuring fresh, insightful stories, is the place to go for what is happening in software development and delivery.  Join the conversation now!