Skip to search.
scrumdevelopment · Scrum Users

Group Information

  • Members: 6371
  • Category: Development
  • Founded: Feb 1, 2000
  • Language: English
? Already a member? Sign in to Yahoo!

Yahoo! Groups Tips

Did you know...
Real people. Real stories. See how Yahoo! Groups impacts members worldwide.

Messages

  Messages Help
Advanced
Multiple customers   Message List  
Reply Message #145 of 55123 |
Agile and CMM are contradictory


Lately there have been a lot of claims that it is possible to
do agile development and call it CMM-complaint or that is possible
to do agile development and be within the requirements of the CMM.

My position is that this is nonsense. Let me explain.

The CMM comes from Crosby's MMM (Manufacturing Maturity Model), and
it was therefore defined in the context of a manufacturing-like model
for software development. For manufacturing it makes more sense to
require "repeatable and completely defined low-level processes" because
manufacturing is about building a predefined identical objects in
an assembly line i.e. a Ford Model T, a VCR model, or a jet engine.
Even when you add customization, you can still apply a manufacturing
framework that overrides some of the sub-process in order to
change parts of the finished product, but they are still defined
and repeatable processes with pre-defined overrides.

However, software is different: it requires research and creativity,
even for trivial projects. Even if components or frameworks are
used, which will lessen the requirements on research and creativity,
they are assembled in _different_ ways to create different
applications, so they are not used like in a manufactured
assembly i.e. always in the same way.

The acts of finding requirements, designing, and building a prototype
of a component are different than executing the assembly instructions
of a well-known component. Compare solving a jig-saw puzzle with
building an assembly-required book shelf. The former requires
research and creativity, the latter follows a recipe. Well,
software development is like a jig-saw puzzle where in most cases
both the jig-saw puzzle pieces and the picture they compose
are being defined simultaneously.

On the other hand, agile methods _are_ defined, repeatable and
predictable but only in statistical ways -- not in detail steps
because it is impossible to predict how many times one will have
to talk to the customer, how many times one will refactor a
piece of code, or how many times one will need to retest. To know
what to do next in an agile method, one depends simply has to
determine the current context by constantly being aware of
what is going on and then do whatever makes sense
at that time. In agile methods what is repeatable are
the practices that you can use to do software development but
certainly not the _detailed process_. In other words, there
is not much process definition beyond than partitioning a project
in iterations and following a set of practices.

This is the heart of agility:

constant inspection that leads to self-organization

as opposed to cookbook like recipes or assembly instructions.
Inspection on the other hand can take several forms: customer
feedback, developer feedback, testing feedback, iteration
reviews, code reviews, etc.

Scrum for example, is based on a model used by American and Japanese
companies for creating NEW products, not manufactured products,
that strongly relies on feedback loops throughout the development
lifecycle:

Takeuchi, Hirotaka and Nonaka, Ikujiro. January-February 1986.
"The New New Product Development Game." Harvard Business Review.

This is fundamental because the act of software construction
requires a Gestalt-like, Do-All-At-Once, self-consistent,
iterative solution, that is _emergent_ in nature i.e. cannot
be prescribed.

Although the agile movement doesn't make the connection with
creating NEW products explicitly:
http://www.agilealliance.org
its values and principles reinforce these beliefs:

Individuals and interactions over processes and tools
Working software over comprehensive documentation
Customer collaboration over contract negotiation
Responding to change over following a plan

And these values are in direct conflict with the unadulterated
spirit of the CMM.

I see efforts to make things like Scrum and XP CMM compliant,
or efforts to make the CMM agile, as complete nonsense because
these approaches are _fundamentally different_.

So beware: until processes are described as emergent and
self-organizing by the CMM, there is no overlap and no point
of comparison,

Mike Beedle
http://www.mikebeedle.com

e-Architects Inc. http://www.e-architects.com
Hipaa Accelerator http://www.hipaaccelerator.com

XBreed http://www.xbreed.net
Agile Scrum http://www.agilescrum.com

Agile Alliance http://www.agilealliance.org
Living Metaphor http://www.livingmetaphor.org



Wed Dec 5, 2001 11:13 pm

beedlem
Offline Offline
Send Email Send Email

Message #145 of 55123 |
Expand Messages Author Sort by Date

This morning I interviewed a project manager at a multinational corporation. I managed to restrain myself from bringing Scrum up until the actual interview was...
jonas.b@...
caelumse Offline Send Email
Nov 30, 2001
11:01 am

I wonder how much floundering occurs at this company. Not knowning their specifics, I don't understand why they haven't resolved this problem. If you have...
Ken Schwaber
ken.schwaber@... Send Email
Nov 30, 2001
3:18 pm

He must have thought that the ProductOwner was always an actual customer, now when I think of it. I didn't get a clear picture of how they managed their...
jonas.b@...
caelumse Offline Send Email
Dec 3, 2001
4:38 pm

Lately there have been a lot of claims that it is possible to do agile development and call it CMM-complaint or that is possible to do agile development and be...
Mike Beedle
beedlem Offline Send Email
Dec 5, 2001
11:23 pm

Michael, "MB" == Mike Beedle wrote: MB> Lately there have been a lot of claims that it is possible to MB> do agile development and call it CMM-complaint or...
Andrey Khavryuchenko
akhavr Offline Send Email
Dec 6, 2001
7:51 am

... To understand the past, present and future of software development? The manufacturing-like paradigm imposed into software we mostly lived for the last 30...
Mike Beedle
beedlem Offline Send Email
Dec 6, 2001
8:30 am

Michael, "MB" == Mike Beedle wrote: ... MB> To understand the past, present and future of MB> software development? I'd better rephrase my question: "Why do...
Andrey Khavryuchenko
akhavr Offline Send Email
Dec 6, 2001
8:44 am

... Andrey: I think I am on the same side you are: I am trying to convince others to do something more agile i.e. I don't believe the CMM should be used. -...
Mike Beedle
beedlem Offline Send Email
Dec 6, 2001
9:12 am

Michael, "MB" == Mike Beedle wrote: MB> Andrey: MB> I think I am on the same side you are: MB> I am trying to convince others to do something more agile i.e. I...
Andrey Khavryuchenko
akhavr Offline Send Email
Dec 6, 2001
9:23 am

... Playing Devil's advocate for a moment : I'm not sure I see where the dichotomy comes from. Is it not possible to be agile and still promote reuse, ...
Laurent Bossavit
morendil@... Send Email
Dec 6, 2001
10:25 pm

... Laurent: I think I mean something different. By "software as NEW product" I mean software that gets _used_ differently. For example. We do a lot of...
Mike Beedle
beedlem Offline Send Email
Dec 7, 2001
7:44 am

Agile and Scrum principles work for any type of new development....
vze2k2j6@... Send Email Dec 7, 2001
2:45 am

... I don't see teams making decisions between CMM and XP/Agile. I have encountered a few, but they were still in the very early learning stages about methods...
Lowell Lindstrom
omlowell Offline Send Email
Dec 6, 2001
4:15 pm

... Lowell: There is only one minor problem. True agile teams will rely on cycles of inspection, adaptation and self-organization but to conform to the CMM...
Mike Beedle
beedlem Offline Send Email
Dec 6, 2001
4:27 pm

... I agree that teams that have the constraint of CMM will have a very difficult, if not impossible, time reaching what you describe as "true agile." But...
Lowell Lindstrom
omlowell Offline Send Email
Dec 6, 2001
4:49 pm

... Lowell: I agree with the notion you explain above. _In practice_ there is a spectrum -- I have always thought of software methods that way. In fact, Ken...
Mike Beedle
beedlem Offline Send Email
Dec 7, 2001
7:31 am

Mike, I am in agreement with you that Software Development will benefit most from applying New Product Development paradigms to it. However, I don't agree that...
mpoppendieck Offline Send Email Dec 8, 2001
8:11 pm

<Mary writes> I propose that Lean Manufacturing has a host of good things to teach the software development industry. But note that the operative word in here...
Mike Beedle
beedlem Offline Send Email
Dec 10, 2001
3:07 am

<Mary proposed> I propose that Lean Manufacturing has a host of good things to teach the software development industry. But note that the operative word in...
Mike Beedle
beedlem Offline Send Email
Dec 10, 2001
4:11 am

"agile" isn't an adjective, like "agile RUP." Agile has particular theoretical characteristics (www.controlchaos.com/excerpt.pdf) and mannerisms that arise...
Ken Schwaber
ken.schwaber@... Send Email
Dec 9, 2001
1:50 am

... Please elaborate. It is used as an adjective in every context I have seen it, including Agile software development. ... (www.controlchaos.com/excerpt.pdf)...
Lowell Lindstrom
omlowell Offline Send Email
Dec 9, 2001
2:48 am

You are quite correct. I was trying to get across the point that this is a cross-species thing. Although the idea of mating a snake and a dog is quite ...
Ken Schwaber
ken.schwaber@... Send Email
Dec 9, 2001
1:35 pm

Self-organization arising from inspection is right on. Another disconnect with CMM is that CMM desires to increase the level of definition, through increasing...
Ken Schwaber
ken.schwaber@... Send Email
Dec 9, 2001
1:49 am
Advanced

Copyright © 2010 Yahoo! Inc. All rights reserved.
Privacy Policy - Terms of Service - Guidelines NEW - Help