We have begun the content migration to the new website based on the Kentico 10 platform. Dual-entry of items is required for content which has migrated. For details see the migration status page.

Get certified - Transform your world of work today

Close

The CMMI Agile Adoption Model

Sprinting to agility

29 May 2015

Mukta Telang
Persistent Systems


Process maturity is a beautiful concept made popular by the Capability Maturity Model Integration (CMMI) Institute. It assesses the maturity of an organization's processes to improve the development of software. The levels of process maturity help with benchmarking an organization's processes and providing a road map for process improvement.

In CMMI, process maturity depends on the implementation of specific and generic practices in a defined set of process areas. CMMI comprises five maturity levels. Organizations are assigned to a level based on the specific and generic practices in a process area.
  • Level 1: Unpredictable and uncontrolled, hence not yet at a level of maturity
  • Level 2: Focus is on basic project management
  • Level 3: Focus is on the engineering process areas
  • Level 4: Focus is on the quantitative management of processes and projects
  • Level 5: Focus is on organizational innovation and process improvement by implementing causal analysis and resolution
As an Agile coach, how do you guide the implementation of Agile with the basic and essential practices and move up to those practices requiring comparatively more rigor? What would a maturity model for Agile adoption for a team look like?

Well-known Agile principles can be mapped against the following levels of maturity. (Level 1, the "Initial" level, is not discussed here, since it is actually considered a level of immaturity.)

Level 2: Iteration

  • Satisfy the customer's needs through early and continuous delivery of valuable software.
  • Deliver working software frequently, from a couple of weeks to a couple of months, with a preference for delivering on the shorter timescale.
  • Measure progress by producing working software.


Level 3: Collaboration

  • Welcome changing requirements, even late in the development cycle. Agile processes harness change to improve the customer's competitive advantage.
  • Work daily with business people throughout the duration of the project.
  • Implement face-to-face conversations as the most efficient and effective method for conveying information to and within the development team.
  • At regular intervals, reflect on how to become more effective, then tune and adjust your team's behavior accordingly.


Level 4: Excellence

  • Continuously strive for technical excellence and good design to enhance agility.
  • Simplify by maximizing the amount of work that is not done.


Level 5: Self-Organization

  • The best architectures, requirements, and designs emerge from self-organizing teams.
  • Build projects around motivated individuals. Give them the environment and the support that they need, and trust them to get the job done.
  • Agile processes promote sustainable development. Sponsors, developers, and users should be able to maintain a sustainable pace indefinitely.
Iterations and sprints are fundamental elements in an Agile process.

Level 2 practices

At this level the team should be able to:
  • Deliver packets of functionality.
  • Plan the functionality that is to be developed during the sprint, based on the business value.
  • Optimize the length of a sprint.
  • Gauge the velocity to improve time estimations.


Level 3 practices

Collaboration between the customer and the team as well as collaboration among team members is essential for the success of the project. Part of that success comes from being transparent and visible to the team members and to the customer.

The following practices focus on collaboration:
  • Demonstrate functionality developed to date and elicit customer's feedback.
  • Incorporate feedback in the sprint planning.
  • Clarify the requirements through customer interactions, document the requirements as user stories, define the acceptance criteria, and ensure that the team satisfies the Definition of Done.
  • Meet for daily stand-ups to discuss the current status of work.
  • Conduct retrospectives.
  • Track the progress of a sprint.
  • Use collaboration tools or information radiators.


Level 4 practices

By improving engineering practices, you can improve the agility of the team.

The following practices focus on development:
  • Focus on simplifying the requirements.
  • Implement good coding practices, and improve code reviews by using code review tools.
  • Focus on emergent design methodology.
  • Implement test automation.
  • Implement continuous integration and continuous deployment.
  • Automate mundane and repeatable tasks.


Level 5 practices

Self-organizing teams are the goal for sustaining agility and continuous improvement in software development. Level 5 is a steeper climb then any of the other maturity levels. After the storming and norming Agile adoption stages, the teams start the performing stage at this level.

Only some of the following Level 5 practices are implemented, depending on the team:
  • Ensure that the team works at a sustainable pace.
  • Build cross-functional skills in team members.
  • Build a team of motivated individuals.
  • Build trust, and empower the team.

This is an outline of the CMMI model that focuses on a single team and not the organization. A team is assumed to be an indivisible unit. The maturity of Agile adoption is different for each team. Transforming every team ultimately leads to transforming the organization.


Opinions represent those of the author and not of Scrum Alliance. The sharing of member-contributed content on this site does not imply endorsement of specific Scrum methods or practices beyond those taught by Scrum Alliance Certified Trainers and Coaches.



Article Rating

Current rating: 3.8 (5 ratings)

Comments

Markus Gärtner, CST,CSP,CSM,CSD,CSPO,REP, 5/29/2015 2:18:25 AM
Interesting take. Are you aware of the Agile Fluency Model? http://www.agilefluency.com
Mukta Telang, CSP,CSM,CSPO, 5/29/2015 3:30:01 AM
Agile fluency model seems interesting! Was not aware of..Thanks!
Anonymous, 6/29/2015 11:17:18 AM
Test comment
Renee Mzyk, CSM,CSPO, 6/29/2015 11:20:16 AM
Test

You must Login or Signup to comment.

 
The community welcomes feedback that is constructive and supportive, in the spirit of better understanding and implementation of Scrum.


 

Newsletter Sign-Up

Subscribe