Design Development and the WYSIWYG Trap, Part 2: Construction and design development

Applications are digital spaces. What can the software industry learn from architecture and construction workflows? This is the middle of a three-part article, so please read Part 1 first.

What is construction in software

After reading the Moss Design guide, you now know how a building comes to exist as digital models. It starts from sketches, proceeds through design development, and ends with final construction documents that provide details of everything needed to actually construct the thing — structural drawings, electrical plans, surface material specifications, and so on.

Engineers who produce construction documents

Remember all those different types of drawings created by engineers? Structural, mechanical, electric, plumbing, landscaping… These are all created by specialized engineers who studied for this particular job.

Dependencies

Within the CSI steps, we saw that “construction documents” was surrounded by “product selection and evaluation” and “procurement”. These actually have a useful analogy in software development, namely the selection and use of dependencies.

Design development: the missing link

The software industry has no shortage of designers who are regularly disappointed that developers don’t seem to build what they designed, and simultaneously developers who are disappointed that designers don’t seem to understand what can be built. This is a much rarer occurrence for buildings. One reason is that a plumbing engineer simply doesn’t get asked to divine their specialty’s requirements based on a rough façade sketch where the architect has added a red line that reads something like “Water stuff happens here”. Instead there is an important step in between called design development, as you’ll hopefully remember from the Moss Design guide.

From BIM to AIM

BIM is short for Building Information Management. The closest equivalent in software would be the combination of unit testing and live app monitoring — i.e. the practices and systems that aim to prevent failures when a software system is actively developed, and to provide developers with data about how it’s actually being used. There’s a huge difference in approach though: software tends to bring in these “information management” practices during latter phases of development, whereas the construction industry is thinking about all this stuff as early as possible, already during the design process.

"Say the words" is how the world's oldest surviving book begins. Writing is the original magic. 💮 Video tools @ Facebook. Previously Vidpresso (YC W14), Neonto