You've gotta be doing something
Join the DZone community and get the full member experience.
Join For Free
it might be helpful to explain myself a little in a way that might be illuminating for the benefit of anyone else.
cmmi
is written in the language of process-improvement-speak. what i learned
early in my career is that process-improvement-speak rarely speaks to
decision-makers or others in positions of authority over "real" work.
it seems that this holds true for software developers as well
regardless of where they are in the corporate food chain.
what i
learned that *does* speak very loudly and clearly to those who hold
sway over what gets attention -- as well as those who are doing the
heavy lifting -- is the discussion of
risk
.
when a
risk
becomes an
issue
, it usually involves loss of resources, time, and
money
.
it's the money piece that grabs the attention of most "gold owners"
(aka, "decision-makers"). well, whether it's time or resources, it
usually translates into money anyway at the top. at the "bottom" time
and resources are the focus. regardless, if you want to really grab
attention talk about your project failing and you will get attention.
in fact, every goal and practice in the cmmi
avoids
some
risk. not every risk cmmi avoids will lead to eminent danger or
failure, but left alone, many risks avoided by cmmi could eventually
lead to failure or loss. from another perspective, many cmmi practices
are "early warning signs" of risk.
this is why i believe that
most organizations are likely doing many of the things needed to
implement cmmi practices. if they weren't avoiding the same risks cmmi
is concerned about, their projects would fail more often, and, they
wouldn't be in business long enough to be thinking about cmmi.
whether
an organization is using agile or traditional methods, they are likely
working against risk. with cmmi working to avoid the same risks as
agile and traditional developers, it stands to reason that we ought to
be able to find how those risks are avoided in each organization's view
of reality. we can then see how/where cmmi practices can be
incorporated to improve the performance of that risk-avoidance reality.
what
i normally find is that the basic efforts to avoid the risk are in
place. what's often missing are some of the up-front activities that
cause these risk-avoiding behaviors to be consistently applied from
project to project, and, some of the follow-through activities that
close the loop on being able to actually
improve
these
risk-avoidance activities. usually, once exposed to the few practices
that can help the organization improve upon their
already decent
risk-avoidance efforts, they welcome the reasonable suggestions.
what's
more often missing is the distinction that the previous successes
experienced by the team (or organization) relied heavily on certain
people and their experience and their natural or learned know-how to
ensure risks are avoided. this is fine in cmmi -- if that's all that is
expected. accordingly, this is called "
capability level 1
".
however, for most organizations, they want more than just achievement
of the specific goals through the performance of specific practices.
they want to
institutionalize
that performance; meaning, they
want it to be consciously managed and available to be distributed
throughout their group, applied with the purpose of producing
consistently positive outcomes, and improved via collective experience.
the first step in that journey is to
manage
the risk-avoidance-and-improvement practices. that's called "
capability level 2
".
after that, we get into really taking a definitional and introspective
approach towards institutionalization and improvement in "
capability level 3
".
usually,
once agile teams see that many practices are accomplished as a natural
outcome of risk-avoidance, and, that practices not already inherent in
what they're doing aren't unreasonable, staying agile while also
improving their practices using cmmi is quite a non-event.
as
projects get bigger and/or more complex, and, as teams get bigger, the
mechanisms to manage risk are necessarily more comprehensive. if you're
a small, agile, yet disciplined organization, most risk-avoiding
activities are natural. the question is whether they are scalable. if
you're such a company, you might look at the additional activities as
building-out the infrastructure to be bigger. not less agile.
bottom
line: translate cmmi practices into risk-avoidance and you will find
the value in them as well as the means to accomplish them in a lean and
agile way.
originally posted on agile cmmi
Opinions expressed by DZone contributors are their own.
Comments