Tuesday, July 13, 2010

Incremental Build

In software development, the old waterfall method reigned for decades. Under this method, a product is developed as a single, monolithic structure where no single piece stands on its own, but rather all the parts make up the whole which is delivered as a turn-key system at the end of a project. As waterfall projects go, the Headmaster worked a few of Niagara proportion back in the day.

The waterfall method went out of fashion largely because of the significant risk associated with waiting until the end to see what you got.

Program Manager: "Boss, that big program we were developing won't work."

Boss: "WHAT?!"

Program Manager: "We lost twelve man-years of time."

SLAP (the boss slaps him across the cheek)

Program Manager: "..and forty million dollars."

SLAP (the boss slaps him across the other cheek)

Program Manager: "..and... the Vorpel Sword."

Boss: "OFF WITH THEIR HEADS!!"

Exeunt, stage right. Enter, Incremental Build. This is where the product is decomposed into smaller, more granular working parts, each of which may stand on its own to provide a service to the other working parts. Because the parts are smaller, you get to see them in action sooner. Some of the parts may be bundled together to provide a working prototype for certain functions. Some parts may be discarded altogether or redesigned. In the end, the parts are bundled into a final product. "You're saying it doesn't work after spending three days and 4 thousand dollars? Hm.. Whatever. I need a pig here!"

The Headmaster likes to think of the Academy as simply a working prototype, where all the parts are under development but in the end they'll all come together in a glorious crowning achievement, presented with much pageantry to a very pleased Headmistress. Hey, it could happen!

Here is how the typical project starts - a process the Headmaster likes to call "spontaneous decomposition" (and although the phrase hints of instant destruction, the reader should rather visualize the Academy slowly decomposing over time). The Headmaster pours himself a cup of coffee and steps out onto the front patio to survey his realm. His proud smile fades as a critical eye falls on a large, outdated stone planter - sedimentary stone painted battleship gray, with white highlights over the mortar joints. He recoils in horror: Sedimentary stone - OMG! Hm... something must be done.

Setting his coffee down, he picks up a pry bar and begins dismantling the planter, completely unaware of the spectacle created by a barefoot, pry-bar wielding man in boxer shorts, hacking madly at a perfectly good stone planter. Four hours later, all the landscaping in the front has been cut down, the planter is gone, and the Headmaster's coffee is as cold as two tons of sedimentary stone sitting in a pile of rubble on the front lawn.

"Won't the Headmistress be pleased", says the Headmaster, "when she finds that the stone planter has been decomposed into a base foundation of concrete block! All that ugly, 500 million year-old, quarried Paleozoic rock to be replaced with Pre-cambrian fieldstone, deposited onto North American fields by receding glaciers. Fieldstone baby!"

We believe it's more likely that she'll be concerned with the glacial pace at which the Headmaster will deposit those fieldstones onto the block foundation. He's already moved on to the next prototype.



0 Comments