One of the reasons the software design/build process doesn’t work as described in Gabriel Morgan’s post is because there’s no generally reliable way to have a design built to spec. In the building world the architect’s design is only a small part of the real spec, with the majority of the detail filled in by building codes and standards and project-specific engineer’s instructions. The building standards in turn sit on top of many decades of accumulated engineering standards. If you hire a registered architect and a registered builder, you know the structure will be built to standards which guarantee a minimum level of integrity. It it’s not, the builder (at least) is legally liable.
No such thing exists in the software world. The effect is that there is always some doubt as to whether a design is actually buildable until the finished product has been delivered, and even then we’re not sure how “habitable” our “structure” will be in five or ten years. This speculative element in software architecture means that a design as a standalone product is inherently worth less than it is in building architecture. So I think the state of software engineering is really what’s holding software architecture back. Whether software engineering can or should aspire towards the status of structural engineering is a whole different discussion.
Important note: I’m not talking about the possibility for reliably buildable design from a software architect, or for quality work within the build team – obviously that can be (and is) achieved. I’m certainly not implying that software architects in general are in the habit of taking wild guesses. My point is rather than the client typically has nothing to go on but the personal assurances of the architect and the development manager. Even reputation isn’t enough, as the bar is low enough right now that there are many firms making a good living and getting decent testimonials through delivering solutions that work on day one and are dead in the water by the third year. So any sensible client of software design and build services is well advised to take a skeptical stance.