Near Matches
Ignore Exact
Full Text
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.
System
= Building
Project manager
=
building contractor
Software architect
=
Architect
(surprise!)
Analyst
/
Designer
=
building engineer
Developer
=
Carpenter
,
Bricklayer
,
Plumber
,
Electrician
,
Plater
, etc.
Software
model
=
Building plan
Prototype
= model
Platform
,
OS
etc = External
infrastructure
(e.g. roads, power lines, sewage system etc.)
System infrastructure and
architectural components
=
Architecture
Application logic
=
fixtures
UI =
furniture
and
interior design
/decoration
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.
Login
Password
remember me
password reminder
register
Everything2 Help
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
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