Story of one “software-like construction”
Explaining Complex Software Concepts Through Simple Examples
One of the key skills of a software architect is the ability to explain complex concepts using simple, real-life examples. Let me illustrate how software architecture and development can be visualized and explained through construction terms.
Beginning
ABC company decides to construct a building to rent out commercial spaces. After conducting market research, they identify a suitable location. However, at this early stage, it is difficult to predict exactly how many tenants will occupy the space or what types of businesses will operate there.
To move forward, an architect must make some reasonable assumptions to create a practical design:
The most common use for commercial spaces will be offices, so the design should primarily accommodate office layouts.
The average company size in the area is about 100 employees, so spaces should be designed to fit businesses of this scale.
To maximize flexibility, the building will have two office spaces per floor, allowing for different tenant needs.
As an initial plan, construction will start with five floors, with the potential to expand if demand grows.
The business team reviews these parameters, finds them reasonable, and approves. With these assumptions agreed upon, construction begins.
So far, so good
Six months later, three out of five floors are built and fully operational. The first tenants are already moving in, and negotiations with potential new tenants are ongoing. Seeing the strong demand, the business decides to increase the building’s height to 10 floors.
While this expansion wasn’t originally planned, the architect confirms that the foundation is strong enough to support up to 10 floors. However, he warns the business that 12 floors is the absolute maximum the current foundation can handle.
If the company anticipates needing more space beyond that, it should consider starting a new building immediately to avoid future bottlenecks. However, due to budget constraints, the business has decided to stick with 10 floors and revisit expansion plans if demand continues to grow.
We have to win this customer!
With six out of ten floors already built, a sales representative rushes into the architect’s office, holding a stack of papers.
Sales Rep: “I just got off the phone with BCA. They want to rent space from us! However, they have specific requirements: they need to fit 500 employees on a single floor, and they want a food court on the ground floor. It’s not essential, but they’d also prefer to have a laundry service and a barbershop inside the building.”
Architect: “But our floors are designed to handle 200 people max. We can’t just squeeze 500 people in there — it’s not safe.”
Sales Rep: “Listen, this is a once-in-a-lifetime opportunity. We have to win this customer. Please, find a solution.”
Architect: “Alright, let’s go through the other requirements. The food court — I get it. We overlooked that, and it makes sense. But laundry and a barbershop? Come on. There’s a mall just 100 meters down the street that has all of that.”
Sales Rep: “Yeah, but that’s exactly what attracted them to us. Their current office also has a Mall nearby, and they want to consolidate everything in one building. They don’t want their employees walking between different locations for basic needs. If we can provide everything under one roof, it’ll be a huge competitive advantage for us!”
Architect (sighs): “Alright… Let me see what I can do.”
Security Requirements
The building is complete and fully populated, and the business now has money to invest. Suddenly, a high-priority request comes in from one of the tenants.
Phone call to the building manager
Tenant: “Hey, we’re about to sign a contract with a government organization, but as part of the agreement, we must provide a separate office space with its own entrance, security card system, and other security controls. We need your confirmation ASAP — either it’s possible, or we’ll have to look for another location.”
Building Manager: “Well, we don’t have that set up right now, but we can definitely propose a solution. However, rent will be higher for these modifications.”
Tenant: “Absolutely, cost is not an issue. This contract is essential for us, and we’re ready to invest to make it happen.”
Building Manager: “Great! Let me check with my team, and I’ll call you back in a few hours.”
Tenant: “Awesome!”
5 Minutes Later – In the Architect’s Office
Building Manager: “We need to create a new office space for 200 people, with a separate entrance and a security system that meets government standards.”
Architect: “Do we have time to analyze this properly? I’m not even sure what ‘government security standards’ means in this case.”
Building Manager: “I need to call them back in a few hours with a yes or no.”
Architect: “Fine. Give me two hours, and I’ll figure something out.”
Building Manager: “Thanks, man. You’re saving my day!”
2 Hours Later
Architect: “Alright, it’s not as complicated as I thought. We already have available space above the 500-person office. We can build a separate elevator leading directly to that space and install a dedicated security system to meet the requirements. It’s doable — but it will cost a lot of money.”
Building Manager: “Money isn’t a problem — they’re willing to pay extra for security. This is great. Thanks, man!”
New Day, New Challenges
The business is growing, and with that comes new opportunities and challenges for the architect.
The company has decided to enter a new market — storage spaces. Many current tenants have already expressed interest in renting storage units within the building. The goal is to upsell existing customers while attracting new ones.
What started as a single secure office space has now grown to occupy five floors. Given the increasing demand for high-security spaces, it’s clear that the company will soon need to extend the security section further. However, this raises new questions:
Should they dedicate an entire section of the building to security customers?
Will the current foundation support further expansion, or is it time to consider building a separate secure facility?
The enterprise customer on the top floor has been a great tenant, and now they want to expand to 500 employees, similar to the large office already built earlier. However, there’s a catch:
They do not want to leave the top floor.
The current layout does not support an expansion of that size on the top floor alone.
The only way to add more space at the top might involve structural changes, a rooftop expansion, or redistributing office layouts below.
With these new challenges piling up, the architect’s job is becoming more complex and dynamic every day. Each decision must balance structural feasibility, cost, business needs, and future scalability, making the architect’s role more crucial than ever.
A Game-Changing Day
The architect’s day started great — a fresh coffee, a smooth commute, and a clear sky, promising exciting opportunities ahead. But something told him that today would be even more interesting than usual — and he was right.
An hour into the morning, he was invited to lunch with the VP of Exponential Growth.
Over Lunch
VP: “You know, growth is becoming a real challenge with our current setup. Every time we find a new opportunity, we have to wait for you guys to build another office floor or make adjustments. Is there any way to speed things up?”
Architect: “Well, I see two options here.
Option 1 is to build ahead of Demand. We can start building office spaces in advance with minimal requirements so they can be adapted later based on customer needs. However, that would require a significant upfront capital investment.
Another challenge is that our current land does not have enough space for unlimited growth. With minimal investment, we can fit about five more 100-person offices.
But if we want to scale further, I must reinforce the load-bearing structures on all floors to build higher. This is possible, but it will take a lot of time and money and won’t help us scale faster anytime soon.”
VP: “That doesn’t sound like a great solution. I hope the second option is better.”
Architect: “Yes, it is. I think we need to move to the Cloud.”
VP: “What? How can a building be moved into the Cloud?”
Architect: “Well, it doesn’t mean we’ll have a flying building — though that would be cool. Instead, it means making our office spaces movable and flexible.
There are companies — Cloud Providers — who can supply all the infrastructure we need, like roads, transportation, power, and utilities. Instead of owning and managing everything ourselves, we would rent from them and focus purely on expanding our business.
Hosting our offices in the Cloud will cost more, and we will need to break our current building into smaller, movable sections so it can be deployed anywhere.”
VP: “Hmm… sounds interesting. What about our scaling problem?”
Architect: “That’s the best part! Buildings in the Cloud are not physically attached to the ground — they can actually move and expand on demand.
So if we need to add more office spaces, we simply request additional capacity from the Cloud Provider, and they will make room for us. They also do capacity planning and often pre-scale their infrastructure, meaning space is already available before we even need it.
Another huge benefit is that we can create a building template — a standard office design. Then, whenever we need a new office, we just deploy it in days instead of months.”
VP: “That’s music to my ears! What’s the catch?”
Architect: “As I said, moving and hosting will cost money. This is a big strategic decision, and we must overcome challenges during the transition. But once we’re there — believe me, you will love it.”
VP: “I’m onboard. Can you put together a presentation for the board? I’ll start warming them up.”
Architect (smiling): “Absolutely! Let’s make this happen.”
The architect walked out of the meeting feeling energized and inspired. Today wasn’t just another day — it was the beginning of something huge.
To be continued…
Final thoughts
I’m not sure about you, but I laughed the entire time while writing this ridiculous story — and even more while drawing the pictures for it.
As funny as it is, this is actually a pretty typical “week” for a software architect. The reality is that it’s nearly impossible to predict what the business will need even five minutes from now. And blaming the business for not knowing either? Pointless. They don’t control market shifts, customer demands, or sudden opportunities — they just have to react.
Of course, I recognize that some foundational software can still be built using waterfall methodologies, which align well with the structured nature of construction. However, for most of us, agile isn’t just a buzzword — it’s a necessity. We have to design agile architectures that can evolve alongside the ever-changing needs of the business.
Here are a few more quotes to complete my thought:
Every system has an architecture, whether or not it is documented and understood.
— Rozanski & Woods, Software Systems Architecture
“If you think good architecture is expensive, try bad architecture.”
— Brian Foote & Joseph Yoder (Referenced in Clean Architecture by Robert C. Martin)
Architecture is about the important stuff, and what’s important depends entirely on the business case. The real job of an architect is to figure out what truly matters and design a structure that supports it.
Hope this helped!
Want to learn more?
🎓 Check out the course: Modeling, Viewpoints, C4
🌐 Follow us on LinkedIn: Software Architecture Guild
📖 Explore the Free Guide: Jump to Website
I hope you found this helpful. If you would like to get more insights like that, feel free to subscribe and share with your network