background

Implementation Ideas

Overview

This page contains examples on how to use the CMM for planning / reporting. These examples are by no means the only way(s) to implement the model, but if you're looking for ideas, read on. If you have a unique way of implementing the CMM that you'd like to share with the community, head on over to the GitHub page to contribute.


Example 1 - Authors' Example

Synopsis

This implementation leverages individual scoring combined with collaborative refinement to drive Agile-based work development for a defined period of time (e.g., CY 2023). Example Workbook: Example 1

Details

Step 1 - Individual Scoring Give one sheet from this workbook to each team member and any trusted stakeholders who can/should provide input on the team's current and future state. Have the team members complete scoring separately to prevent group think or more timid members from changing their answers to match the group. The group will coalesce in step 2. Participants score across three columns: current state, desired state, and stretch.

The provided example workbook includes conditional formatting to make it a little easier to visually spot the selections - it also limits selections values to -1 through 5, where -1 should be used instead of leaving the cell empty (explained in a moment).

Step 2 - Joint Discussions Objective Once all participants have finished their scoring, it's time to sort through everyone's differences. The key with these discussions is to come to agreement on where the team is and where it wants to be. If you did the scoring individually as suggested above, you'll likely be surprised by some of the results and it's a great time to dig into perceptions and reality. The key for us was open and honest communication. If someone scored any of the values in a way that wasn't the mode, they were required to explain their vote. Examples of some of things we encountered:

Implementation You can have this conversation do this by simply talking it out from the individual score sheets, but I compiled the individual sheets into a single workbook to hold the discussion from. If you use the provided workbook from GitHub, copy the individual scoring sheets into the User 1 - N tabs. This will update the "Rollup" sheet with the "mode" - the most common entry - to help facilitate the discussion. The Rollup sheet has the same conditional formatting to make it visually apparent.

Note -- The example Rollup sheet function only accounts for 5 users in the provided example, but it's easy to extend. Note -- It was also lazily coded by yours truly, necessitating the -1 instead of blank cells because the Excel function for finding the mode expects a number. To take things one step further on the visual front, I added small circles with each person's scores to the target rows (see an agnostic example below). The first instance of a circle was their vote for "current", the second (if present) was their vote for target, and the third (if present) was their vote for stretch.

The circles worked well to quickly spot outliers and commonality all in one place, but it was time consuming and I plan to re-evaluate it for the future for other potential options. The alternative of pulling everyone's scores over was also less than ideal because you need 3 columns x the number of users, which can be tricky to view in one screen. Step 3 - Makin' It Happen Once you agree on where you are and where you want to be (and when!), it's time to take this into the practical world. We held a set of two brainstorming sessions to decompose the work, using the CMM subjects as column headers to organize ideas. For us, this took place in the white-board application Miro. We arrayed sticky notes for the subjects and then set a timer for the team to dump their ideas (new sticky notes) in any of the subjects at will. At the end of each ideation round, we consolidated stickies that were similar.

Another key note is that there's some overlap between subjects and/or the work necessary to level up in one area may apply to another, so make sure you de-duplicate in the end. Once you've done that, you have a solid body of actionable work that you can start progressing on. We're an Agile shop (Kanban), so once we were comfortable with the ideas for each subject we took this into ADO as Epics, Features, and User Stories. I won't elaborate here as this will be up to the user to figure out how it looks for them. Reporting The example workbook in GitHub also contains automated scoring in the Rollup sheet. Each category header row will report on that category's current and desired state, and the header row for "Processes" (at the top) contains an overall score for the current state. We report our progress to senior leadership in recurring meetings. Combining this CMM scoring with with other work-management practices (like tagging within ADO) also helps reporting. With tagging of user stories, we can now report on what percentage of our time in a given time window is going to which maturity elements, and track progress to "leveling up" through delivery plans.

Summary

We took a definition of maturity from the CMM, discussed where we are and where we want to be, decomposed it into actionable items aligned to the definitions of where we are and want to be, and transferred it into tracked work that drives reporting.

The Red Team Capability Maturity Model is licensed under the Creative Commons Attribution-Non-Commercial-ShareAlike 4.0 International License. © Brent Harrell and Garet Stroup, 2022