Everything2
Near Matches
Ignore Exact
Full Text
Everything2

Building software is like building a house

created by PikeWake

(idea) by PikeWake (1.2 mon) (print)   ?   (I like it!) Tue Aug 08 2000 at 8:09:48

When I try to explain the process of producing software I often use this analogy. It's especially useful for describing bigger projects and projects with emphasis on architecture and components. To make sense, you will have to compare the type of system you're designing with a building used for a similar purpose (if that is at all possible). For instance, if you're talking about an on-line store, the corresponding building would be a compartment store or a shopping mall. Below is a list of software terms and their counterparts in construction.

Using this analogy you can get a long way describing the responsibilities of the different people involved in the project and the result of their work. Like all analogies, this one fails at some points, however. Some things I find hard to get into the analogy without being too far-fetched are: testing, documentation, and configuration management. Also, the fact that almost everything is designed from scratch in a software system, ruins the analogy a bit: You wouldn't want someone to build a house where every nail and window pane are designed specifically for that house (read my writeup on Software development is not an engineering discipline for my thoughts on that).


printable version
chaos

Software development is not an engineering discipline Writing software is like composing a symphony The software hath been released XPCOM
design debt Portakabin Design Patterns It's a Mad, Mad, Mad, Mad World
architecture The Soul of a New Machine Choosing a node title Christopher Alexander
comfortable
Y'know, if you log in, you can write something here, or contact authors directly on the site. Create a New User if you don't already have an account.
  Epicenter
Login
Password

password reminder
register

Everything2 Help

Cool Staff Picks
The best nodes of all time:
Bunyip
Rules of program optimization
Thanotropism
A Beginner's Guide to IRC
Aryan Nation
The Backyardigans
John Peel
Cryptic Crossword Clue Types
Dalai Lama
Scenes from a Memory
The Lord's Prayer
Rhapsody on a Windy Night
The name that lasted a million years
New Writeups
octillion369
Frost wyrm(person)
kalen
Three "T"s(idea)
octillion369
Undead(idea)
archiewood
Ico(fiction)
Heisenberg
Why I love Everything2(log)
octillion369
Death Knight(person)
XWiz
Are you hoping for a miracle?(review)
santo
The Host(review)
LostPsion
"Shut the Fuck Up" Theaters(idea)
beatrice
You've been slowly taking me over for nearly a year, do you know that?(idea)
Berek
YouTube(thing)
shaogo
How to Pretend to Have a Job(idea)
hapax
Les Provinciales(review)
zoeb
The Scene(review)
aneurin
Telephone Numbers for drama purposes(idea)
This page courtesy of The Everything Development Company