Agile houses

January 29, 2022
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?

Related Content

Optimal processes

Are you still held back by belief in the possibility of an optimal process?

Incremental software delivery makes deadlines (almost) meaningless

If you deliver value incrementally, you get scope cutting for free. With or without a deadline.

Velocity, capacity, and unplanned work

Velocity usually includes unplanned work, which limits its usefulness for capacity planning and forecasting.