We need good metaphors to better understand software development. Good metaphors from our day to day can help us better understand this elusive domain.
Some time ago I wrote about traffic and not long ago I wrote about handling scope the same way you would handle a growing garden. In this short article I would like to discuss the great opportunity for better understanding software development, hidden in fruits. Yes, fruits.
When I start coaching a team I will usually find that the backlog grooming is neglected. Backlog grooming is the process for preparing the scope for the sprint. We do this to reduce variability during the sprint. We do this to avoid surprises. It does have a cost, though – it means we need to invest time in things we will develop later, now.
There is the question of when is a story ready for development. We recommend having a “Definition of Ready” written and reviewed by the team, a list that will evolve as the team gains experience and understanding.
However, having a list will not solve your problems. Moreover, adhering too much to such a definition may cause more problems. We need to be flexible.
And so we come to fruits. For instance, let’s take a peach, one of my favorite fruits.
How do you know whether a peach is ripe?
First, it is very personal. Ripeness is a relative definition. Some people like soft peaches and some prefer them more solid. More than that, hungry soft-peaches-lovers may eat them solid (I’m not sure regarding the opposite, though).
In the same manner you need to decide when a story is ready. First, it should be per team. Some teams would rather do most work during the sprint and some would prefer to have longer preparations. Second, taste changes. Some teams start with demanding very ripe scope but with time prefer to start more upstream.
To know whether a fruit is ripe you need to look at it and sometimes hold it and smell it. Same for a backlog item. You need to read it, you need to discuss it, you need to feel it.
Some fruits keep ripe for a longer time and some rot very quickly. The same with software. Be sure not to get too much backlog ripe too soon or bad smell will spread around the office.
One thing is sure: After you start eating a fruit you should finish it very quickly! You know what nasty things happen to partly eaten fruit. And the same goes with software. When you start on a story you need to finish it as fast as you can, otherwise nasty things start to happen and one day you find something green lying in the bottom shelf of the refrigerator, right behind that jam that looked so good in the supermarket.
Now go eat a banana!