Why We Should Build Software Like We Build Houses

Architects draw detailed plans before a brick is laid or a nail is hammered. Programmers and software engineers don’t. Can this be why houses seldom collapse and programs often crash?

via Why We Should Build Software Like We Build Houses | Wired Opinion | Wired.com.

This analogy made me laugh because software doesn’t have to fight gravity or -20F temperatures or whatever else planet Earth has in store for a physical structure.  The gist of this article however seems to be that every software project should start with and needs a solid foundation of requirements.  Shout out to system engineering!

Update:  Here’s an interesting comment from slashdot and a shout out to awk.

If builders built houses the way programmers built programs, the first woodpecker to come along would destroy civilization.
Gerald Weinberg

Trivia: Gerald Weinberg is the “w” in awk. Sadly, things haven’t changed much since back when.