Agile houses
We often contrast software to physical buildings--the idea that software is easy to change, whereas buildings are difficult to change. But is this really true?Right now I’m staying near Guatemala city, in my wife’s childhood home. Naturally, I’ve been here many times, leading up to and since our marriage 6 years ago. Every time I come, I’m surprised by something new that’s changed.
This time it was a new stairway behind the kitchen, leading to what used to just be the roof. Now it’s a balcony, with a bunch of plants.
This got me thinking:
We often contrast software creation to physical building construction. The idea that software is easy to change, whereas buildings are difficult to change.
But is this really true?
Sure, some buildings are hard to change. Particularly in big, complicated ways. Once you’ve built a stadium, it will pretty much always be a stadium. Maybe you can paint the seats a new color, but you’re not likely to put up new walls and turn it into smaller venues.
But most buildings we use are probably a lot more “agile” than we think.
I’ve been doing a bunch of home rennovation myself over the last couple years. We just converted a small bedroom into a new large bathroom, and turned the old bathroom into a new spiral staircase to my attic office.
If even our buildings are this flexible, what should this say about our “infinitely more flexible” software products?