Saturday, February 25, 2012

Agile Succeeds 3X over other brands

There is an interesting discussion of the Standish Groups 2012 report on Mike Cohn's blog.  Go read the article (Agile Succeeds Three Times More Ofter Than Waterfall) and the comments.

Here's the summary graphic.

Tuesday, February 21, 2012

An Agile Process is an Integral Equation

How does one define an Agile process.  I've heard that mathematics should be able to describe most anything; so here is my attempt at describing an Agile process.

An integral equation.  The integral from sprint 1 to sprint N of teamwork multiplied by the sum of test-driven development to the power of continuous integration plus pair programming plus the summation of refactoring.

See Also:
     S.O.L.I.D. design principle posters.
     Which Agile Process Should You Choose? a comparative study of processes
     A List of Agility Tests

During Scrum boot camps at SolutionsIQ back in the day we ran an exercise to map the engineering practices to the Agile manifesto's 12 principles.  The first several groups to participate in the exercise arrived at a set of practices that felt to all as if they had covered most of the 12 principles, but not all sufficiently.  That's what instigated the practice of teamwork, not that it had been missing on our teams, it just was not overtly called out as a practice.  Therefore it received less attention for improvement.  It also created some AH moments upon reflection of some of the teams that had trouble with that practice.

We played around with substituting other practices for these core 6 practices.  For example let's not do pair programming and see what we need to insure quality code continues to result from our teams. So replace PP with pier-code review practices.  So teams ran this experiment - and depending upon the individual on the team, though that was a equal and better substitution. Other's didn't believe it a equal substitution when mapping that practice to the 12 principles.  We lost some capabilities that pair programming supported and encouraged that typical code review practices never replaced, and in many cases harmed (such as teamwork).

Monday, February 6, 2012

The Founder Effect

One way to scale Scrum is to get one team functioning (mature team) and then populate new teams by dividing the original members up amongst the newly created teams. Does this work?  I think the answer is both yes and no.  Does science have any analogies to study that would help us to predict what factors lead to the yes answer and away from the no answer?

The Founder Effect - an effect that evolutionary biology predicts from the classic theory of evolution.  The most adaptable will survive.  We agilist believe in this theory.  Here's a study of the founder effect in Caribbean lizards.  The study reflects that the founders of a population have a significant  effect upon the new population.  However the environment also has a significant effect.

To draw the conclusion the studies author,  Schoener said: “The answer we found is that founder effects can leave a persistent signal as generations replace one another over time, even as populations adapt to new conditions. Our study of these fundamental evolutionary principles affects our general understanding of how the biological world works.”

What should this tell you about the Scrum scaling practice?  That the individuals that found the new teams will have a large effect upon the team's performance.  And that the environment will influence this team also.  What I think we forget in making this scaling Scrum technique is that significant energy (Scrum coaching) went into the first team.  This is an environmental factor.  If that factor is removed for the subsequent team then the individual will have a much more difficult time instilling the philosophy of Agile by themselves.  Their "signal" will be diluted in the progenitor team.  Now if the organizational values and principles are Agile (truly Agile) then the environment is going to support this lone founder.  Yet, in many transformations this is not true - the scaling happens before the organization has had the changes set.

Founders are very important.  My favorite technique for Scrum adoption is to "stack the deck" - embed 2 or 3 known agilist on the team.  Yet, the environment is perhaps the one thing that the leadership has more control over.

In the book Switch - by Chip and Dan Heath creates a wonderful metaphor for change.  The rider, elephant, and the environment give us a nice model for what we can effect as change agents.

I just walked into the workplace bay of a team that did just this Scrum scaling technique.  Eight months later, I could no longer tell that the teams were practicing Scrum.  The environment did not sustain their new Scrum practices. The founders were mutated toward the old ways faster than they muted the processes toward the new Scrum processes.  The Scrum adoption didn't manifest in the next generation team.