What's wrong with the analogy between software and building construction?
- by kuosan
Many people like to think of building software as constructing a building so we have terms like building blocks and architecture. However, lately I've been to a couple of talks and most people say this analogy is wrong especially around the idea of having a non-coding software architect in a project.
In my experience, good software architects are those who also write code so they won't design things that only looks good on paper. I've worked with several Architecture Astronauts, who have either limited or outdated experience in programming. These architecture astronauts quite often missed out critical details in their design and cause more harm than good in a project.
This makes me wonder what are the differences between constructing a software and a building? How come in the building industry they can have architects who probably never build a house in their life and purely handles design work but not in the software development field?