20 June 2009

Top 10 Clues You're Not Ready for a SCAMPI

10. Four months ago you couldn't spell "CMMI".

9. No one in your organization has ever had any training of any kind whatsoever in CMMI, appraisal planning, or process improvement.

8. You haven't worked with anyone (in-house or hired) who knows what they're doing with CMMI.

7. Price-shopping for lead appraisers seems like a good idea. Kind-a like price shopping for a heart-surgeon.

6. After months of work, you switch from one constellation to another and think your appraisal is still on schedule (see #9 and #8). Kind-a like switching your team from field hockey to ice hockey mid-season.

5. Your CEO is petulant about the delay of your appraisal yet has no idea that your actual process performance is in the toilet.

4. You've waited until it's time to start planning for your SCAMPI to start looking for a consultant to help you implement CMMI in an "agile" way.

3. The only people you're sending to Introduction to CMMI are the ones you plan to have on the appraisal. You have no back-up plan if they can't make it to training and/or to the appraisal. Class isn't for another month, and, they're the same ones who've been working on your processes for the past several months, but until now, see #9 and #8.

2. You haven't qualified the people in #3 with your lead appraiser (which you haven't hired yet + see #9 and #8), you haven't qualified the projects to be appraised with your lead appraiser (which you haven't hired yet + see #9 and #8), and nonetheless, you have established a level of effort for the appraisal despite all of the above.

And,

The Number One Clue You're NOT Ready for a SCAMPI:

1. After months of work, you still don't see there's a fundamental flaw in committing to or expecting others to commit to (including your appraiser no less!) a firm-fixed price contract without knowing the requirements.

I wish the above list of clues were tongue-in-cheek.


Sadly, it's not. There is, nonetheless, plenty of fiction in it:

  • The order of the list is mostly arbitrary.
  • The list is not scientific.
  • The list really should be longer. A lot longer.
  • These clues are just from my experience alone, and doesn't account for anyone else's, so it's pretty idiosyncratic.

While in many cases, any one of the items in the list of clues could easily sabotage an organization's process improvement effort (let alone an appraisal), one thing that makes it especially troubling is the preponderance with which I encounter a single organization exhibiting most or all of these clues! And yet, such organizations think they actually can dictate to their lead appraiser the terms and conditions and the readiness of their organization to be appraised!

I tried to limit the clues to only things you could pick-up from a conversation -- even if you know nothing about CMMI or the SCAMPI appraisal method. I tried to keep the clues to things that don't have to do with CMMI itself or process stuff as a general theory. If I had included such items, I would add:

  • You don't know that to do a SCAMPI you actually have to have used the processes on actual projects.
  • You don't realize that there's more to CMMI than the names of the process areas.
  • You don't realize that the generic goals and practices aren't just "extra information".
  • You don't know that it's still the lead appraiser's responsibility to approve the people and the projects to be in the appraisal.

If you look at some of the other behaviors of organizations not really ready for a SCAMPI, you'll find that they continue to:

  • accept more work than they can handle,
  • be unpredictable in what they will deliver and when,
  • measure little other than billable hours, and
  • have no insight into where their defects come from.

Despite the condition in which many organizations may have artifacts for an appraisal, they have seen no intrinsic benefits to their new set of processes. They've been just "chasing a level", which results in lots of work for no real benefit. You can guarantee these organizations will drop their processes shortly after the appraisal.

Really, what these clues point to is the dreadful lack of realization that first and foremost, process improvement requires the right culture for process excellence. The above list points to a fundamental absence of the culture for process excellence. What people don't realize (especially in the USA), is that process improvement is a total JOKE for companies with the right culture of process excellence. If people want the truly idiot-proof, guaranteed, easy path to just about any CMMI Maturity Level, they would need to go no further than to foster a culture of process excellence, then whatever they did from that point forward would likely cause just about every practice in CMMI to form on its own. In other words, these clues aren't about process, they're about culture and leadership. You don't have to know anything about CMMI to pick up clues about culture and leadership.

One of the failures of CMMI is that it fails to press the basic importance of culture and leadership for process improvement. It fails to communicate in no uncertain terms that an absence of the right culture (and what that looks like) and the absence of leadership (and how that shows up) will lead to a failure in process improvement -- CMMI or otherwise. I'm not blaming CMMI for not including this information in the text, because much of it is there. What I'm saying is that despite what is there about the importance of culture and leadership, most CMMI users fail to grasp these important points. The text, therefore, fails to communicate this in a way that people will pay attention.

CMMI should come with a warning similar to, "Don't Try This At Home!" or "Use Only as Directed!", or "Check with a Qualified Professional Before Beginning Any Process Improvement Program", or "You Must Be *This* Tall to Use this Book". Or simply, "Danger Ahead!". Something to get people's attention and direct them to some of the fundamentals of any improvement program.

This accusation is not just leveled at garden-variety CMMI adopters. Often, they're the hapless "stuckees" forced to "make CMMI happen" against all odds. At least there's ample reason to be sympathetic to their plight. What's inexcusable are the too-many consultants, instructors and appraisers who are willing to ignore these fundamental requirements-for-success and who are unwilling or unable to posture with prospects and clients in such a way as to impart the importance of culture and leadership to success with CMMI. So, that translates to a pathetic statement about the consulting abilities (and possibly the ethics) of too many people who take money to work with others on CMMI.

Sorry for the rant. But people need to be warned. Attempting a CMMI effort without the requisite culture and leadership attitude may yield a short-term appraisal rating, but will ultimately lead to medium and long-term failure. *THAT* I can guarantee.

This is why I'm such an advocate for agile methods. Agile methods impart some of the basic needs for long-term process success. And, it imparts them at a level of abstraction usable by people who aren't process experts, yet establishes many of the appropriate culture and leadership traits that so many CMMI-only efforts fail to recognize. Agile values, methods, and practices empower their teams, cause leadership to eliminate obstacles, value the input of customers and practitioners alike, values learning, develops multi-disciplined teams, and most importantly (as far as processes are concerned) promotes lean thinking. While Agile ideas may not change leadership and culture over night, they contain many of the right activities that can eventually win over those whose hearts and minds need winning over. And, with the appropriate use of CMMI, agile ideas can kick-start the motion and direction needed for long-term and ongoing improvement.

I'll be writing more about why CMMI and Agile need each other for a while.
Stay tuned.

Labels: , , ,

01 December 2008

Amazing Parallels

image A recent post to the Agile Thoughts blog caused me to have a serious case of déjà vu

First, I will start by saying that I'm not going to take a position on the content of the post.  Namely, I'm not going to weigh in on whether or not Scrum is valid, whether or not Mary Poppendieck's points or approach are appropriate.

The purpose of this post is to make a suggestion.

Go ahead and (re)read that post. 

Replace

  • "Scrum" with "CMMI",
  • "CSM" or "Scrum Master" with "Lead Appraiser", and
  • "Lean" with "Agile". 

My favorite line in the entire post is this one:

"... spent 90% of her time cleaning up after bad Scrum implementations..."

And an associated comment that noted:

"...the difference between the good and the bad ones depends mainly on who’s doing it..."

I don't feel like taking the time right now to ponder what it means (I'll probably do it anyway after posting), but what I find fascinating is that people are now debating various agile/lean concepts in the way the debate continues to fester about CMMI/agile.  And, those in the agile/lean debate are recognizing that it's not enough to have a named method or model, and it's not enough to be "certified" to do something to really "get it", but that there is real need for understanding the underlying concepts and intentions and for implementing from that basis otherwise there is risk of "bad implementations".

What every perspective in these discussions is (hopefully) saying is that there is no one "silver bullet".  That addressing the issue of great products, ecstatic customers and happy teams requires more than superficial application of someone else's ideas.  Requires more than one set of principles, when hiring an "expert" requires serious due diligence and interviewing skills, and requires a lot of hard work and soul-searching to reach the "comfort zone" of every project and team.

Again, I'm not pointing fingers and I don't want to accuse one person of saying something they're not, nor do I want to label an entire field of people with any one person's perspective.  With that said, the following is drawn from my own experience and I'm merely reminded of it thanks to Tobias Mayer's post.

Many people now finding themselves defending Scrum -- against bad implementations and other abuses -- are saying that it's not anything inherent in Scrum that's bad.  My guess is that many of these people are (or were) also among those who vilify (vilified?) CMMI.  Accusing CMMI of evils that were perpetrated by too many goobers inappropriately implementing and appraising it.  Vilifying CMMI (can be read: Scrum) by juxtaposing implementation with content.  These evils are just as much not CMMI's "fault" as bad Scrum implementations are Scrum's "fault".

In fact, our recent SEI Technical Note, spoke to this very issue.  I guess the point to this post is to say to those folks in the Scrum and Lean communities: Welcome Aboard!  Let's start some constructive discussion together on defeating "silver-bullet-ism" in software development.

Labels: , , , ,

07 October 2007

Expand the scope of "value".

I get common resistance from agile proponents that part of the agile philosophy is to only perform activities that add value to the product, and thereby (the assumption is) to the client. This is often a stumbling block for the "lean" folks too.

The argument goes along the lines of: much of the CMMI practices to "maintain" and even many of the practices to "establish" certain work items don't add value. If not, why do them?

It's a strong case. But strong cases for not doing practices don't make for organizations that can get through a SCAMPI (CMMI appraisal) and end with a maturity level rating.*

So what is there for an organization to do?

There are two ways (non-exhaustive and not mutually exclusive) to re-factor this thinking, both of which involve adding long-term value in addition to immediate value:

1) Adding value to the organization, and
2) Adding value to the future product (or, to the product in the future).

In the first approach, process activities are seen as adding value beyond the immediate project. Process activities are seen as an investment in the efficiency and productivity of future projects. And, on sufficiently long projects, these activities can provide feedback in time to make a difference to the projects underway and from which the process data is being collected. This approach adds value to the business in terms of know-how, intellectual property and competitive edge.

The second approach, while similar to the first is product-focused. In this view, the value in doing the process activities is in being able to reduce maintenance costs, make updates/upgrades less cumbersome or expensive and make the product more extensible. This often goes handily with allowing the developer to be different from the operator, the maintainer, or the help desk.

Many paradigms of process improvement use the metaphor of "throwing the product over the wall" as a means to describe what happens when products are developed in a serial, production-line fashion and not as an integrated, high-trust, highly communicative team (sound familiar?). The very antithesis of agile development.

Well, here's a wake-up call for some people, including self-proclaimed agile developers: the "wall" eliminated by integrated and agile development teams is not only between steps in the development life cycle. Sometimes the wall that needs eliminating is temporal. That is, stop throwing your well-tested, peer-reviewed, non-wasteful code over the wall for someone in the future to have to deal with. Most of us have had to make sense of someone else's spaghetti code at one point or another and we shouldn't be the ones to create it even if we did so by being lean and agile today while sacrificing the value of the product in the future.

So, the value we're trying to eek out of our process activities ought to take this sort of long-term view of "value" Some also refer to this as "Total Cost of Ownership" or TCO. Process activities ought to be calculated on the basis of TCO for the organization and the product.

In both approaches, the value being added to the organization as well as to the product is a reduction in waste. Companies don't become lean over night and they don't become great at agile practices with 2 days of stand-up meetings or one 30 day sprint. Often taking the time to identify, record, be methodical about, and update the organization's approaches can help find what works and eliminate what doesn't.

Really.... CMMI isn't what complicates this, it's not understanding CMMI that owns that job.

* Let's be clear about something... Achieving a maturity level (or capability level) rating should not be any organization's goal. Improvement should be. PLENTY of benefit, value and improvement can be had without *ever* being appraised and/or without ever attaining a "level" rating. However, for obvious reasons, achieving ratings has other value, such as being able to compete for certain customers and in certain markets.

Labels: , , , , , , ,