This weekend I set myself the objective of decorating my bathroom. I enlisted some help, took 2 days off and set about planning the work.
The plan consisted of several goals: take the old tiles off the wall, remove the old shower, plaster where necessary, attach the new shower, tile the walls, take up the floor tiles and lay new ones. On paper this seems like a lot of work for two people to accomplish in 4 days, but as always our estimates were on the positive side of reality. We felt it was possible.
It was all going well. The old tiles came off the wall quickly and the old shower came out easily enough. Then we ran into our first problem. Damp. We had to remove much more plaster than we had hoped, and the wall had to dry out before we could put up new plaster. Our plans changed. While the wall was drying, we started to take up the floor tiles. We estimated it would take one of us a day, it took twice that long. On top of that, we found that the new shower had to be plumbed the opposite way around to the original.
Our plans changed again. Having now plumbed in the shower and plastered, it wasn’t dry enough to tile on. We moved onto tiling the floor. By this time we knew we weren’t going to finish ‘on time’ so we prioritised the areas of the floor that would be used the most. Under the toilet, by the bath and the sinks, while ensuring the least amount of cutting. We managed to tile half the floor.
As I write this, my bathroom is half done. We had to respond to change several times, but as the solution was determined up front, any changes were simply to account for new work that we discovered, the original work still had to be done. It was a deterministic undertaking.
That got me thinking, what if it wasn’t? What if this was an entirely empirical undertaking like software development? What if we were given a problem and had to find the solution? Would we have defined the solution in its entirety up front, estimating it, removing flexibility, limiting our options and our ability to respond to change?
No. Why would we? We can solve the problem in any way we want to, our solution doesn’t need to be entirely determined up front. We can have a plan, but not stick to it rigidly. Our requirements can evolve, and our stakeholders will be close by helping us make vital decisions.
As a team, we can respond to change.