Posted on 2 Comments

The Guinness model of release planning

This model isn’t based on release planning at Guinness. It’s based on drinking Guinness.

It’s the end of a work day. You and your mates are going out for a drink. Initially, you’re thinking you’d like to have three pints of Guinness. How do you place your order?

If you’re a traditionally-minded software development project manager, you’ll order all three pints at once, in the same glass. When the bartender tells you three pints of Guinness won’t fit in a one-pint glass, you’ll pound your fist on the bar and shout until he finds a way to make them fit. After all, the reason he doesn’t want to pour three pints into the glass is that he’s either lazy or incompetent, or both. Once you let him know who’s boss in no uncertain terms, he’ll get those three pints into the glass, one way or another.

Continue reading The Guinness model of release planning

Posted on 2 Comments

What is software development?

I’ve heard it said that there are basically two ways to understand a thing: (a) by direct experience, or (b) through metaphor. People who need or want to understand software development, but who don’t develop software themselves, often rely on metaphor. They are like the six blind men who try to describe an elephant. (That was a simile, not a metaphor.)

Software development is a unique sort of activity, with its own distinctive characteristics. Yet, as a way to try and understand the nature of software development, people have used various metaphors to describe it. Software development is a wall, or a rope, or a spear, depending on which part of the elephant a non-developer happens to touch.

Metaphors are something like conceptual models. Little ones. As George Box wrote, all models are wrong, but some models are useful. The popular metaphors about software development are wrong. They are wrong because they do not capture the exact nature of software development completely. The metaphors are also useful. They are useful because each one of them does capture some interesting aspect of software development in terms that people can relate to.
Continue reading What is software development?