Imagine building a house using agile style methodology. You’d start in a green field and put up a tent, the minimal viable house. Then you’d ask your stakeholders what they thought of it and what they’d like next. They’d probably say they were imagining something taller, warmer, and with sturdier walls. Some of them might ask about the colour of the tent and ignore all that.

All this discussion would make everyone hungry so for the next sprint you’d agree that somewhere you could cook would be a good idea. You’re in luck that someone on the team has worked on houses before and suggests instead of building a kitchen into the tent, a definite fire hazard, you rent a caravan from an external provider. This includes the kitchen and also a bed so you deliver more value in the sprint than you committed to so everyone is happy. Apart from the stakeholder who doesn’t like the caravan’s decor.

But how to deliver value in the next sprint? The stakeholders are not happy when they hear you plan to just mark out the foundations for the real house, they want something tangible, like a shower. You divide the team and put some on marking out foundations and the rest punching holes in a bucket and finding somewhere to connect a hose to make the minimal viable shower. Some on the team are warning about capacity problems with the chemical toilet but unfortunately there’s no scope for fixing that right now so everyone has to live with the smell.

Nobody, I hope, would actually build a house like this. We don’t need to start with a tent because we already know we’ll need something with actual walls. People do rent caravans to live in while their house is being built but they know it’s temporary and they don’t try and evolve it into a house.

Software isn’t house building, though we use terms like architecture and have architects they’re very different things.