Why Architect
The Intersection of Vision and Execution
tl;dr
The following explores building your dream home with three different plans, plus a lesson or two about building software.
The Problem
Building Without Blueprints
We all dream of creating something meaningful. For some, that's a family. For others, a company. But what's the difference? How do some visions become reality while others remain dreams? We might say the lucky ones had more money, more time, more resources, but we don't think so. They had the right plan.
Building by Function
To build a home by function, you start with listing the things you can do (e.g., sleeping, cooking, bathing), and then build. Beginning with sleeping, you might pour a concrete pad, frame four walls, add a roof, place a bed inside, and proudly announce, "Sleeping is done!"
Next comes cooking, then bathing, then all others, each with its own foundation, walls, and systems.
The result? A cluster of disconnected rooms with duplicate plumbing, electrical, and heating—expensive to build, inefficient to use, and difficult to change
Building Room by Room
Now that we've done away with building by function, how about room by room? You might start with the bedroom, complete with sleeping, dressing, and storing functions. You build the foundation, walls, roof, electrical, and finishes. You proudly announce, "The bedroom is done!"
Next, you build the bathroom. To connect it to the bedroom, you must tear down one bedroom wall, extend plumbing and electrical systems, and build a new roof over both rooms. Much of your completed bedroom must be rebuilt, again, and again, for nearly every room you add.
Each room requires rebuilding what you thought was done. By the time your house is complete, you've rebuilt every room, multiplied costs, and threw out the schedule. What appeared to be better than building by function is only better disguised.
The Real World Consequences
Target's early e-commerce struggles illustrate this problem perfectly:
They built separate systems for in-store and online retail
When implementing "buy online, pick up in store," they faced massive integration challenges
Inventory systems, customer profiles, and pricing were all duplicated across systems
The result? Target had to rebuild their entire digital architecture to create a unified experience.
The Solution
Structure First, Features Second
If houses are not built by function, nor room by room, how are they built? We all have a general idea, more so intuitive idea. We might not know why they're built that way but we know they're supposed to. Foundation first. Walls and roof second. Interiors third. And magically, the functions of your home appear.
Never was there a goal to build sleeping, to build cooking, to build bathing, yet all required functions are satisfied. If we were to categorize this order of home building, we could say its in order of increasing change, from what changes the least to what changes the most.
But what of the benefits? Why build this way?
Building Structurally
When you finish the foundation and proudly announce, "the foundation is done!" The foundation is done. When you build the next area of change, perhaps the walls, it only costs the amount to build the walls. Costs are costs, not multiplied. When projecting completion, dates and deadlines are not only feasible but reasonable.
Building structurally enables the building of systems with the greatest stability that produce the greatest variety with the lowest cost for the least amount of effort. In other words, a job well done.
The Real World Benefits
After experiencing a database failure in 2008, Netflix rebuilt their software architecture structurally rather than functionally.
They identified which parts of their business would remain constant (customer desire for entertainment) versus what would change (delivery technology)
They built their system around customer behavior patterns rather than around their current business model of DVD rentals
When streaming technology matured, they could add this capability without rebuilding their core systems
The result? While Blockbuster remained tied to physical stores and legacy systems, Netflix smoothly transitioned from DVDs to streaming.
The Method
Blueprints Before Building
So now we know, if you want to build your dream house (or any dream), create requirements functionally and build structurally, but what about software? How might we apply building structurally to software projects?
Just as an architect creates blueprints before construction, software also needs an architect to create blueprints before development: the system design (what to build) and project design (how to build it).
System Design: Creating the Right Structure
Design a system of structural components that the development team can assemble into applications and features. (Designing features is not the objective).
Key Activities
Diagnose the areas of change
Translate functional requirements into structural components
Verify the design supports all functional requirements
Deliverables
System design with component architecture
Technical specifications for development team
The Reality Check
If you had to deliver a successful project, which would you rather lead? A project with perfect design but not enough resources or a project with imperfect design but adequate resources.
Of course, the second project, which also implies that project design (having adequate resources) is more foundational than system design. No matter the system, given enough resources, it can be built. We've heard of move fast and break things, minimal viable products, users first profits later. This is our old venture capital model. We don't subscribe to it, and neither should you. Invest in project design and build profit-first.
Project Design: The Foundation of Success
Design a project that builds the system within your commitments of time, cost, and resources. (Building the system is not the objective).
Key Activities
List activities with their dependencies and duration
Create and iterate project solutions
Verify which solutions satisfy time-cost constraints
Deliverables
Project dependency map
Time, cost, and resource requirements
The Difference
Between Vision and Execution
Architecture matters. If we want to build homes that last generations and companies that last centuries, we cannot afford to build without it. The shortcomings are obvious with physical construction, but in the not so obvious world of software, waste is hidden and complexity ignored.
Whether homes or software, the architect is the intersection between vision and execution. They are the guarantors of successful projects that deliver business value faster for lower total cost, and not because we claim it, because proper architecture makes it.
Designing Success