And now some admiring words about Mitt Romney.
No, no, no, no, no. I’m not referring to any recent votes he
might have made in the Senate. I’m referring to his recent, well-publicized 72nd
birthday and the
parallels he and his staff established for achieving business and IT agility.
The standard they set for business and IT thought leadership rivals anything
Romney achieved during his years at Bain Capital.
Start with his staff’s innovative multi-Twinkie cake
architecture.
Most birthday cakes are layer cakes and result from
waterfall design and production techniques. The baker starts with a recipe — a
complete specification for the cake itself, coupled with a detailed work
breakdown structure for creating it.
Many cake makers achieve excellent levels of success using these
waterfall techniques, and I’d be unlikely to reject their work products.
But … personally, I’d be likely to concentrate my
gustatory efforts on the icing. It isn’t that I dislike the cake component of
the finished product. It’s that the cake component dilutes the flavor of the
frosting, which I enjoy quite a lot more.
In business/technical terms, layer cakes aren’t modular, and
deliver unnecessary features and functionality. Twinkie cakes are, in contrast,
modular. Each component Twinkie is a complete, integrated whole.
Also: A layer cake is an all-or-none proposition. The baker
decides how big a cake to make and that’s that. If unexpected guests show up,
well that’s just too bad. Either everyone gets less dessert, or the new guests
do without.
Traditional cake-baking doesn’t scale. Because Twinkie cakes
are modular they scale easily: Just add more Twinkies, frost them, and everyone’s
happy.
Another aspect of the Twinkie cake deserves mention: It evokes
the value of an important technical architecture design principle: buy when you
can, build when you have to.
Layer-cake bakers start with raw ingredients and baking
infrastructure (the oven and other paraphernalia) and engage in actions
equivalent to application development.
Twinkie-cake-makers start with a pile of commercially
manufactured Twinkies. They do then make and apply their own frosting, but that
step is more analogous to application configuration and integration than to
application development.
Our final step in beating the metaphor to death (as opposed
to beating the eggs that go into many layer cakes) is testing.
Bake a layer cake and the only way to test it is to mar the
cake by cutting a slice out of it. Sure, you can reserve some of the cake mix
to bake a mini-cake instead, but small cakes bake more quickly than full-size
ones so the baker can never be sure the test cake tastes the same as the
production version.
Compare that to a Twinkie cake. Want to test it? Eat a Twinkie.
Not sure? Eat another one.
No problem.
The Twinkie cake architecture was innovative and
interesting. But just as there’s no such thing as an IT project — it’s always
about doing business differently and better or what’s the point? — so Romney
himself deserves credit for the “business innovation” of using Agile
techniques to blow out his cake’s candles.
Traditionally, candle blowing has been just as waterfall-oriented
as cake baking: The birthday celebrator attempts to blow out all of the candles
in one great whoof.
As is the case with waterfall project management, this is
rarely successful, due to another waterfall parallel: Just as the risk of
failure rises in direct proportion to the size of a project, the older the
candle-blower, and therefore the more candles there are to extinguish, the less
likely it is that anyone could nail all the candles in one breath.
Not to mention the unpleasant thought that unavoidably, in
an attempt to blow out all those candles, some of the blower’s saliva must
inevitably end up on the cake.
I’ll leave it to you to figure out parallels to application development or business change. And please do feel free to share your analogies in the Comments.
In any event, Romney used an Agile technique — iteration — to dodge the challenges of traditional candle out-blowing: He removed each candle from the cake and blew it out separately.
Especially, kudos for explaining that this way each candle
was another wish.
The candles, that is, were his birthday backlog. And he dealt with them as all Agile teams deal with items in the backlog: One at a time, with little stress, and a very high level of success.
And, in the end, a spit-free cake.