Frozen Requirements make a Tough Stiff to Saw

First published in The Agile Journal, 21 May 2011

As I am sure you are aware The Mother of All Fixed Time Projects was due for completion today. Global deployment and rollout was scheduled for 6pm on a timezone by timezone basis. But it's now clear that slippage is inevitable. The end of the world must wait.

I still remain fairly well disposed towards these Prophets of Doom. I've managed waterfall projects in the past, so it's easy for me to empathize with their outlook on life, and to admire the peppy confidence they exude when delivering their messages of impending cataclysm. I wish I could have delivered highlight reports with such breezy conviction. Where I part company with these Oracles of Kismet is in their rather strained usage of supporting material. An Agile project manager should never be so hamstrung by the anachronistic interpretation of evidence, whether it be documented or not.

There is however at least one seraphic text to which I know even the Agile Practitioner can look for reliable guidance. I refer of course The Ballad of Blasphemous Bill by Robert Service. I have found this to be of great help when struggling with contracts of uncertain scope, but which include requirements that are nevertheless fixed. Even Agile projects can find that these immoveable features are embedded within them, and dug in deeper than the proverbial Alabama Tick. It can take the bending of an inventive mind to bring such projects to fruition, as we will see.

The Ballad of Blasphemous Bill is a poem set in the Yukon of a century and more ago. The author has signed a contract with a trapper...the eponymous Bill. The terms are simple and ostensibly straightforward. If Blasphemous Bill dies, then the author promises to find his remains, and to give him a decent burial."I took out a contract to bury the body of blasphemous Bill MacKie,

Whenever, wherever, or whatsoever the manner of death he die...

...By battle, murder or sudden wealth, by pestilence, hooch or lead -

I swore on the book I would follow and look till I found my tombless dead."

That's how an Agile project often starts out, particularly those that are geared towards service delivery such as the provision of emergency cover and the deployment of hot-fixes. You don't necessarily know when, where, or what might happen over the course of the engagement, but you undertake to deliver on one core requirement. The price of the contract is fixed. You'll notice though that the time at which the service actually needs to be delivered is variable, and the precise circumstances remain unknown. Otherwise the scope of the delivered service appears to be fixed.

Eventually news reaches town that Bill has died in a remote cabin. Now it is time to deliver on the contract. The terms still appear to have been reasonable. It will be difficult to get to Bill, but the supplier has the skills necessary and no reason to believe that he cannot deliver on his promise. Essentially, the scope of the job appears no greater than he had originally bargained for. He loads the empty coffin onto his sled and sets off.

"North, ay, North, through a land accursed, shunned by the scouring brutes,

And all I heard was my own harsh word and the whine of the malamutes,

Till at last I came to a cabin squat, built in the side of a hill,

And I burst in the door, and there on the floor, frozen to death, lay Bill."

So far so good. It has taken a measure of professional skill for the supplier to get to this point, but he was given the contract in the first place precisely because of his ability to deliver. Now all he has to do is to finish the job. He looks at the problem and does a quick analysis before deciding on a course of action.

"Sparkling ice on the dead man's chest, glittering ice in his hair,

Ice on his fingers, ice in his heart, ice in his glassy stare;

Hard as a log and trussed like a frog, with his arms and legs outspread.

I gazed at the coffin I'd brought for him, and I gazed at the gruesome dead"

Ah. Now there's a problem. The contractor has made an assumption which, in fairness, appeared to be perfectly reasonable at the time of the agreement. He has assumed that in order to deliver on the core requirement of burying Bill, he would need to bring a coffin on his sled to hold the remains. The coffin had to be of the right size of course. The problem is the coffin he has brought along is of a standard configuration. In effect, the contractor has shaped his understanding of the likely requirements at the point and time of service delivery by the type of solution that might reasonably be provided in such cases. So an ordinary coffin is the solution he has planned for and resourced. Bill however, has frozen into a position that invalidates exactly this sort of preparation. What can the contractor do now?

"Have you ever stood in an Arctic hut in the shadow of the Pole,

With a little coffin six by three and a grief you can't control?

Have you ever sat by a frozen corpse that looks at you with a grin,

And that seems to say: 'You may try all day, but you'll never jam me in?'"

Lateral thinking is called for. Bill is frozen stiff, and as solidly as the core requirement of burying him. Nevertheless, perhaps some flexibility can be introduced. The contractor decides to try a hot-fix of his own.

"I'm not a man of the quitting kind, but I never felt so blue

As I sat there gazing at that stiff and studying what I'd do.

Then I rose and I kicked off the husky dogs that were nosing round about,

And I lit a roaring fire in the stove, and I started to thaw Bill out."

It's certainly good thinking. The contractor has decided to change the environmental conditions which have formed around - and which are largely responsible for - the awkward freezing of the scope. By changing these very conditions, it might be possible to introduce some flexibility which renders the available solution usable.

"Well I thawed and thawed for thirteen days but it didn't seem no good;

His arms and legs stuck out like pegs, as if they was made of wood.

Till at last I said: 'It ain't no use, he's froze too hard to thaw;

He's obstinate, and he won't lie straight, so I guess I got to - saw.'"

It was a nice try with the thawing, but no cigar. Something else must be tried. There is only that one remaining course of action left. It is both brutal and ruthless, but it does technically satisfy the terms of the contract.

"So I sawed off poor Bill's arms and legs, and I laid him snug and straight

In the little coffin he picked hisself, with the dinky silver plate;

And I came nigh near to shedding a tear as I nailed him safely down;

Then I stowed him away in my Yukon sleigh, and I started back to town."

What the supplier has done is to split up the core frozen requirement into smaller units of scope that can be dealt with using the available solution. It has to be admitted that this goes against the "spirit" of the original deal. However, the supplier made certain assumptions at the beginning...and so did the client. The service provided is within the letter of the contract, but is it entirely satisfactory? Post project, the only thing that can be done is to review the matter, and to identify "lessons learned" for the future...

"And I smoke my pipe and I meditate in the light of the Midnight Sun,

And sometimes I wonder if they was, the awful things I done.

And as I sit and the parson talks, expounding of the Law,

I often think of poor old Bill - and how hard he was to saw."