- 4.1 What You Will Learn in This Chapter
- 4.2 BOND Case Study Background
- 4.3 What Is a Gap Analysis and Why Is It Crucial for Agile Organizations?
- 4.4 Keys to Conducting a Gap Analysis for an Agile Organization
- 4.5 Example of "Potential Weakness" Against CMMI in an Agile Organization
- 4.6 Running Process Improvement like a Project
- 4.7 TWG Approach for Agile Organizations
- 4.8 Revisiting the Goal and Challenges on the Process Improvement Project
- 4.9 Alternative Practices and Tailored Agile TWG
- 4.10 Returning to the Peer Review Example
- 4.11 Tailored TWG Techniques and Lessons at BOND
- 4.12 Preparation Work for Running Agile TWGs
- 4.13 Packaging of Processes
- 4.14 An Agile Organizational Process Asset Structure
- 4.15 Process Asset Guidelines Used at BOND
- 4.16 Different Organizations with Different Process Asset Structures
- 4.17 Agile TWG Roles and Responsibilities
- 4.18 Effective Techniques to Run an Agile TWG
- 4.19 Separating the TWG Work from the Lead Offline Work
- 4.20 What Do You Do When You Find a Gap?
- 4.21 Answers to Common Questions When Running an Agile TWG
- 4.22 Do I Need a DAR Process?
- 4.23 Do I Need to Verify Everything I Develop?
- 4.24 Do I Need to Make Sure the Steps in My Processes Are in the Right Order?
- 4.25 Do I Need to Make Sure Process Descriptions Are Not Redundant?
- 4.26 Can Requirements Be Captured in an Email or PowerPoint Slides?
- 4.27 Do Requirements Need to Be Captured in Single "Shall Statements"?
- 4.28 Formalizing Informality
- 4.29 Summary
- 4.30 Summary: How Agile Helps CMMI
4.4 Keys to Conducting a Gap Analysis for an Agile Organization
There are multiple approaches to conducting a gap analysis. You can focus on documentation including the products an organization produces, and documented processes employed in developing those products. You can also spend time interviewing people in the organization who use those processes. I have seen a gap analysis conducted using exclusively the documentation route, and at times, this can make sense. Most often, a traditional gap analysis focuses on the documentation, supplemented with a few interviews.
When I do a gap analysis for an Agile organization, I switch this traditional emphasis from the documentation to the discussions with the people. The way I conduct these interviews is crucial to the success of the approach.
I conduct my interviews individually, not in groups as is often done with more formal CMMI appraisals. I am particularly careful how I phrase my questions during these interviews. I keep the interviews informal with an emphasis on letting the people being interviewed just talk about how they do their job. I have found that by phrasing questions as simply as possible, most people tend to talk openly and with ease about their job. An interview question I often start with is:
- Can you tell me how you do your job?
I spend most of my time taking notes, letting the employee speak. My follow-on questions flow naturally from responses that lead me to dig deeper. I don't use any of the words from the CMMI model in asking the questions, but I do keep the model practices in mind. I am using those practices to trigger more detailed questions based on what I hear.
Late in the interview after I have learned how they view their responsibilities and carry out their activities to achieve those responsibilities, I ask:
- Do you follow a process when you do your job?
Almost everyone in Agile organizations that have just begun a process improvement effort answers that question with:
By the time I ask that question, I already know the answer, and most of the people have answered it incorrectly.
By this time, I have in my notes a great deal of the information that describes the process they actually do follow when doing their job. They, of course, when asked that question assume I mean a documented process.
I assess what they tell me they do against the CMMI model, and against whatever written processes exist. I look at examples of the products they produce to corroborate what they are telling me and what their documented processes say.
When I out-brief a client with strengths and weaknesses against each process area of the CMMI model, each point I make is backed up with objective evidence from what I heard in an interview and/or saw in documentation. What I hear in interviews and see through documentation—along with my own experience based on patterns I have seen in similar organizations—is shared in my report and serves as the objective data that leads to my recommendations. I always stress in my report that any weaknesses identified against the CMMI model are "potential weaknesses" to the business.
My reports go much deeper with detailed examples than most traditional gap analysis reports. This approach is counter to what is usually done partly because of nonattribution concerns. It is important that I don't attribute specific findings to individuals in order to maintain an atmosphere in which people are willing to talk openly about their jobs.
However, too often valuable findings are raised up to an abstract set of statements leading to ultimate findings that become almost useless in helping the organization focus on the specific priority improvements needed.
Furthermore, it has been my experience that when a gap analysis does not provide specific examples with details backing up conclusions, Senior Managers do not place much value in the report resulting in minimum value to follow-on improvement efforts. See Table 4-1 for pros and cons of different gap analysis approaches.
Table 4-1. Pros and Cons of Different Gap Analysis Approaches
Gap Analysis Approach
Traditional Documentation Focus
Learn "gaps" if you followed documented processes
Don't gain insight into real processes followed by people
Behavior change is the most difficult process improvement
Agile Interview Focus
Learn the real process the people are following
Takes more effort requiring more analysis and digging
Leads to uncovering where the most valuable process improvements lie
Let me now give you a simple example of why I stress weaknesses identified in a gap analysis are "potential weaknesses" to the business and how we determine if these "potential weaknesses" require actions to resolve in the plan to move forward.