Hacker News new | ask | show | jobs
by lubujackson 2579 days ago
I think architecture is a fine metaphor for actually constructing software, just no one treats software the way we treat architecture.

Imagine putting an architect on a plane, and during the flight briefly explaining some elements of a house to be built: It needs to be 2 stories and have a big kitchen, open concept, 4 bedrooms. Something like that, yes? How long will that take?

I couldn't possibly say! Well, just give me a range. Etc.

So the plane lands and the architect wonders exactly where he is. This is a plot in a forest. Before we can begin we need to clear these trees and get plumbing and electricity hooked up... Hey, you didn't mention any of this in your estimate!

Now we are months behind schedule but the groundwork is finally laid. We are really behind the 8 ball schedule-wise! Just do a quickie job the rest of the way, ok?

But when the architect goes to hire carpenters he discovers they only speak French! Didn't you know you this house is being built in France? I forgot to mention it. You speak that language, right? Well, figure it out. You are the architect after all.

2 comments

My goodness, you're right.. And the poor architect often doubles as the carpenter, plumber, unqualified electrician..

When the house is halfway built, we ask the architect to add a basement floor with temperature remotely controlled via a spotty WiFi signal. Oh, and a satellite dish on the roof too, after all we're practicing "agile architecture"!

They're NOTHING like each other. Experience says otherwise.

Everyone thinks that until they've done both ship their first SaaS and get an occupancy permit for your first building. I can say that while there are some similarities in managing complex inter dependencies even if you waterfall the code.