Archive for the ‘practice’ Category

Accidental Level-Chasing

Monday, January 24th, 2011

Even organizations who sincerely want the benefits and improvement that comes with many well-established, well-respected practices may be undermining their own efforts.

By placing a premium on practices (agile/lean, CMMI, etc.) without the underlying values and principles, organizations risk becoming accidental level-chasers.

As an earlier post discussed, level-chasing is very deleterious and, frankly, stupid, but how and why would organizations find themselves doing so — accidentally?

They do it by focusing on practices and by putting practices in place without understanding the values and principles these practices are derived from.  In fact, these practices are merely examples of what can be manifested from the values and principles and don’t represent a complete concept of any one value or principle.  By worrying about practices (and often, the evidence from them), organizations fail to get the most out of the practices themselves, let alone the values and principles of the practices — which have much greater depth and utility.

Without getting into the details, it’s now a fairly well-accepted understanding that focusing on what you don’t want does not necessarily get you closer to what you do want.  In fact, it’s shown that focusing on what you don’t want will more likely lead you closer to exactly what you don’t want!  This translates precisely to what I see each year with many clients.  If you don’t want to change your practices in unnecessary ways, focusing on practices will pull you farther from what works best for you.  If you don’t want to generate artifacts for the sake of artifacts, focusing on which artifacts you do/don’t have will cause you to generate non-value-added artifacts.

At the center of this issue is that practices are just singular (or sets of) examples that typify a particular value or set of principles.  When an organization performs a practice without understanding the value and principles from which the practice evolves, they often don’t know how to respond when challenged with the need to change the practice.  They fear that changing the practice will negate something bigger, such as a CMMI rating.  The mere concern for such ratings is an obvious red flag, but it’s sometimes not because of a need for the rating as much as it is due to not understanding the role the practice in achieving that rating.

Here’s where a favored analogy works really well:

Anyone who’s learned to play an instrument (or a sport) knows the value of practicing.  Sometimes, we practice things that aren’t songs, per se, but are musical study pieces.  Sometimes we practice scales and progressions.  And yes, sometimes, we spend a lot of time practicing a specific piece.  But the practicing of one piece doesn’t land us to be masters of a piece we’ve never seen.  Practicing one piece helps us master that one piece but brings us no closer to mastering an entirely new piece.

However, what all forms of practice are, are examples of certain values and principles of playing music and learning to play an instrument.  It’s the value of practice (growing our capabilities, evolving our understanding, enhancing our dexterity, etc.) that we all appreciate.  With this appreciation we’re able to justify and enjoy the practice.  We don’t just practice one piece in hopes of being able to master all other pieces.  It’s the same as why we don’t just practice one play or one maneuver in sports as though learning this one thing will help us learn and master the other plays and maneuvers.  We practice and when things change, we change the practices.  When the specific application of what we’re doing changes, the practices change, but the values don’t change, and principles change very little (if at all). 

A few of the values that lead organizations to being able to both perform practices appropriately as well as being able to change them when needed and still see the benefits of the practices include commitment to TQM, lean, disciplined/deliberate review, communication, transparency, learning, solid engineering, solid service management, and clearly articulated, S.M.A.R.T. goals everyone can sign-up to support.

Arguing over whether or not your practices “comply” with CMMI, or to one of many flavors of agile or lean is the wrong argument, and, leads an organization to limited benefits.  It’s a fast path to being a level-chasing, pathological box-checker.  Avoid this path by understanding the values and principles of the practices.

This topic will be one I’ll spend much time these next several months speaking on in many venues.  Hope to see some of you at one!

Doing Agile CMMI without “Doing” Agile or CMMI

Monday, November 8th, 2010

There’s an under-appreciated reality of what either agile or CMMI can accomplish for an organization.  In particular, it’s not as much about what either accomplishes for an organization as much as it is about what an organization does for itself that achieves agility and systemic improvement.

It seems to be a decades-old issue that many technology-oriented companies, and, it seems, especially software companies, struggle with organizing and managing operations towards excellence.  I can’t even begin to dig into any reasons why this is so, but there may be some truth to the stereotype about technology people not being good with business and/or people. ;-)

I’ve found something fascinating that is fairly consistent across many companies I’ve visited or discussed with colleagues.  What’s fascinating about it is not only the consistency across multiple fields, industries, verticals, and national boundaries, but that it reinforces a position I’ve taken since beginning my career.  That position is the afore-mentioned “under-appreciated reality”:

Aligning the organization with specific business goals and providing a supportive culture
leads to broad behaviors at all levels that result in high performance.

OK.  So, that may not seem earth-shattering.  But there’s a lot in this statement about agile and CMMI that too many organizations to “get”.  And, this is where all the anecdotal evidence from the many companies comes into play:

Organizations with a culture of excellence generate behaviors (including setting and pursuing specific business goals) that achieve agility and systemic improvement without specifically setting out to achieve either “agile” or “CMMI”.

Throughout my earlier career, I was routinely frustrated by “training” that provided me with specific tools and techniques for dealing with “many common” situations – pretty much all of which were cultural, interpersonal, and otherwise based on human behavior.  The cases, examples, and solutions all felt very canned and contrived.  Why?  Because, in effect, they were.  They were very specific to the context and would only solve issues in that context.  What the examples lacked – and by extension, the entire course – was fundamental tools with which to deal with situations that were not neatly boxed into the provided context.  In other words, these training courses provided practices. These practices work in explicit situations, but they fail to provide the basis upon which those practices were built.  Without such a basis, I and other consumers of this “training” could not address real situations that didn’t match the training’s canned scenarios.

“Doing” agile or CMMI by “doing” their respective practices results in exactly the same limited benefits.

Making agile or CMMI “about agile” or “about CMMI” accomplishes little value and lots of frustration.  These are only practices.  Practices are devoid of context.  A culture of excellence and an explicit business case to pursue improvements provide the necessary context.

We see this all the time.  For example, for decades in the West mathematics was taught in a way left many students wondering, “what will I do with this?”  (This may still be true in many places.)  It was/is taught without any context to how it can help them better analyze and understand their world.  As a result, Western students have historically been less interested in math, do less well in math tests, and are less inclined to study in fields heavily dependent on math.  All due to being taught math for math’s sake and not as a means to a beneficial end.

Medicine is also taught this way around the world.  Leading too many doctors to seeing patients as packages “symptoms” and “illnesses” rather than as people who need help.  Scientific exploration often gets caught up in the same quandary.  Exploration is the goal, if you’re looking for a specific answer, it’s research.  When you’re trying to create a specific solution it’s development.  Mixing-up “exploration” with R&D will frequently result in missing interesting findings in pursuit of narrow objectives.

In agile practices, what’s more important: doing Scrum or delivering value?  Pair programming, or reducing defects?  Maximizing code coverage in unit tests or testing the right parts of the product?  “Doing” Scrum, pairing, and automating unit tests are intended to deliver more product of high value, sooner.  Focusing on the practices and not what’s best for the customer are missing the point of these practices.  Same with CMMI.

What are the economics of your core operation?  Not just what your group costs to operate on a monthly basis, but what unit of value is produced for any given unit of time?  How do you know?  Why do you believe your data is reliable?  The ability to make decisions relies on data and when the data is unreliable, decisions, plans and anything else that relies on the data is questionable and risky.

It turns out (not surprisingly) that when a group focuses on what’s important AND has the economic data to reliably understand the behavior of their operation, it aligns their actions with the very same goals set-forth in both agile and CMMI.

Focusing on the right things in your operation will cause behaviors that achieve agility and “rate well” against CMMI.  Whether or not you’re even trying to “do” agile or CMMI.

I’m about to say something cliché…

Wednesday, May 21st, 2008

… Expect to learn all the time, and you will learn.

I’m working with a great client in Connecticut.  A referral thanks to Bob Lewis.

First off, over coffee Bob unknowingly gave me a new set of metaphors for a topic he admits to having little understanding of: CMMI.

To spare you the details of what he said and how I processed it, please allow me to simply explain the gist.  In CMMI there are lots and lots of things called "practices".

Many people interpret these practices as though they are processes, or worse even, procedures, and they execute the practices mechanically.  Yes, that’s usually because these same people either (a) are chasing a maturity level rating, or (b) simply don’t understand how to use the model to reap the greatest benefit, or often, (c) both a & b.

Here’s how to actually and properly use the practices in CMMI:

They are underlying motivations.

When you think of what doctors, lawyers, athletes and performers do, they practice their art.  And it’s a practice because they’re constantly applying, learning, adjusting, and responding to the non-ideal and unpredictable conditions presented to them in real-time.  If they were simply following procedures every time, they’d fail most of the time.  Yet, they practice, practice, practice, so that when it comes time to perform the practice they aren’t worried about following pre-determined procedures because they must be able to respond to what’s thrown at them in reality.  The procedures assume a pre-determined situation and the responses to procedures are ideal to those situations.  What they’re exactly doing in real-time comes from their practice, but doesn’t necessarily look exactly like what they did last time.

Procedures are good when all the inputs are controllable.  Processes help know what major transformations an object or an idea must go through to become an outcome.  Processes generally follow an expected sequence, but what happens inside the process should have enough flexibility to be rearranged to meet the needs of or to normalize the input conditions.  What the procedures must do, however, is respond to reality.  The way in which procedures inside a process respond to reality to become rearranged or redefined based on the principles and motivations of practices; which are not necessarily even explicit.  They’re "just there".

For example, at the process level, a doctor goes through several steps prior to, during and after performing surgery, (e.g., consult, exam, test, analysis, advise, prepare, communicate, operate/investigate, clean/close, protect, follow-up…). Each of these sub-processes to the process may have certain procedures, but each of those procedures is contained within at least one practice.  The practice may not even be written, or formal, but they’re certainly part of what the doctor is trained to do based on principles and motivation.  These principles and motivations are taught and refined over time, with practice.  And true, some practices can be beyond the capability and/or maturity of some people.

It’s no wonder when an organization’s true underlying motivation is the shallow ceremonial decoration of a rating that their results are equally shallow despite the time, energy and money that went into the production effort to pull off ceremonial decorations. (Think: big, gaudy, wedding where everyone knows the couple won’t last.)

While learning this lesson, Bob pointed out that what he and I do for a living are, in fact, practices (i.e., consulting practices) and the next morning I find myself before a cozy crowd of client staff and despite having thought through much of how things would go, I still felt like I was winging most of it.  In reality, in real-time, I *was* winging it.  I was responding to the reality, but was never out of my element because I was still…. practicing.  Following the basic principles and motivations to achieve an outcome.

So it all worked out and everyone was pleased.  We made a lot of progress and then I learned the next lesson in this 24 hour period of time: It’s really a lot of fun to actually be on the sharp end of the stick once in a while… actively blending Scrum and the immediately useful bits of CMMI.  The real lesson, though, was in gaining re-enforcing validation as I witnessed this organization actively absorb and propose process ideas.  There was no push-back.  Quite the opposite.  Processes were being embraced as one of the things that would lead them towards success.  The alternative would be a slow dissolution of the company.

Once in a while it’s nice to really see just how effective blending good ideas can be when this process stuff is put into context of what must be done to succeed.  It just demonstrates again that too many organizations are using CMMI for the wrong reasons made worse by a lack of practice.