|
|
|
|
|
by jalfresi
4357 days ago
|
|
Personally, I think the metaphor is quite apt. Obviously it is a metaphor so there isn't a complete mapping, but where do you feel the impedance mismatch is between the traditional architecture metaphor and software architecture? I'm genuinely curious to know, because I have found the metaphor to be strong enough that I read traditional architecture books to help me understand architecture and design in general in software development. |
|
- Designing software in minute detail beforehand is generally neither necessary nor possible.
- It is impossible for someone to be a capable software "architect" unless they are an experienced software "builder".
- It is impossible for someone to be a capable software "builder" unless they are also capable of designing it.
- Software can be reused once built, and this matters while building it.
- Software is rarely "finished", but continues to grow over time.
- Software can be used by an unbounded number of users at the same time.
- Software can be reproduced infinitely.
- Software can be forked and incrementally changed.
- Anyone can design and build their own software, given some talent and a computer.
- The business motivations for software development are fluid, and often change rapidly over the course of a single project.
I could go on and on. As with many (most?) metaphors, it offers some superficial familiarity, but is ultimately harmful to your understanding.
Software is software. Understand it by reading about software and writing software.