18 February 2011

Cadence is Crucial

There's a delightful book called If You Give a Moose a Muffin. My forthcoming missive on iterative software development is tentatively entitled
If You Give a Clown a Metric
Cadence is the most important aspect of iterative software development. I am weary of misconceptions about velocity. I'm weary of re-treaded PMs turning velocity into a blunt instrument.

The Law of The Swift

Cadence is the vastly under-reported life-force behind iterative development.

So, two days into your second sprint, if your panic-strickened PM adds two new developers, then prods & pokes you about squeezing in another story or two, I advise you to diplomatically offer the reminder that
Half a Swift DOES NOT deliver twice the gas mileage.

This regressive misconception is formally known as Brook's Law. Brook's law says,"adding manpower to a late software project makes it later".

Brooks more famously quipped
Nine women can't make a baby in one month
~Fred Brooks
In the absence of distractive churn, seasoned developers need at least several iterations to establish a cadence. Forget the silly chart.

In honor of the 10th anniversary of the Agile Manifesto, developers who have, year after year, dragged dysfunctional balls & chains to the delivery finish line should not have to view another burn-down chart.

Adding a new developer mid-iteration is disruptive. Adding two new developers mid-iteration is, not surprisingly, also disruptive. Please don't knock us off the beat. Let us play a few bars into the tune before you pull the fire alarm.

All we ask as developers is that succinct stories with a bulleted list of testable assertions roll into our purview like so many chocolate kisses on a conveyor belt. Then, please step away from the conveyor belt so we can syncopate while gorging on chocolate kisses.