Last week we moved house, and an awful lot of time was spent cleaning our old place, because we wanted to return it to the landlady at least as good as we had found it. And since I see the world through a prism of Process, I found an unexpected parallel with methods of Agile delivery.
My wife worked on a room-by-room basis, “so that I know what progress I’ve made”. Once she had cleaned the kitchen she knew it was done and moved onto the bathroom, and so on. There was no intent to move backwards. This reminded me of Alastair Cockburn’s exercise in measuring progress, because he also uses a house-moving analogy, although in his case it’s packing, not cleaning.
I had a different plan. I chose to find the worst-looking spot, attack it until it was no longer the worst looking spot, then step back, take a look around, and repeat. I was concerned we made the best use of our limited time, and with this approach I knew I would not spend 15 minutes scrubbing a dirty mark in an obscure corner of a back room when I could have been working on a more obvious mark in the middle of the living room. This approach is more of a lean, continuous improvement, approach.
The disadvantage of my wife’s method is that we may have run out of time with one or more rooms left untouched. The disadvantage of my method is that there is no measure of progress.
I’m a big fan of the burn-up and burn-down charts that Alastair introduces in the article I linked to. If measuring progress towards completion is important, and if we have a good understanding of “done”, then the room-by-room approach is ideal. But if the work at hand is potentially endless and is more about continuous improvement then the identify/clean/repeat approach is a better fit.
In the case of our cleaning work we walked away feeling we’d done a thorough job, and our landlady was delighted.