DEV Community

Discussion on: What is architecture?

Collapse
 
kodengo_com profile image
Kodengo • Edited

When comparing the terms with civil engineering I wonder if the same principles apply in software.
Unlike software, civil engineering requires big design and planning upfront and that design is very difficult if not impossible to change.
With software however change in design is possible at any time and there are no hard restrictions that prevent this change.
Another difference that i notice when comparing civil engineering is the puropse. In civil engineering the goal and purpose are predefined and static. A bridge will always be a bridge and a design for a 10 story building will never change to support 10 more half way through the construction phase.
In software the requirements change so much that a software building might end up with double the planned storys AND connecting two river banks.
This being said i wonder if the parralel applies at all. I have seen teams that struggle with adapting to changing requirements because of constraints in the architecture, but never challenge or chqnge it.
And while classic architecture applies for civil engineering I dont see it working in software.

Collapse
 
andrewlucker profile image
Andrew Lucker

The book "Antifragile" is a great start for examining modern planning concepts. The book didn't focus on software, but it was received well in the software community. In short, planning for change doesn't have to be a burden, it can be a source of strength.

en.wikipedia.org/wiki/Antifragile