Posts

Showing posts with the label good software design

Designing Homesteads Instead of Mansions

Image
We usually lean toward terms and methods from other engineering disciplines in software development.  In some ways, this is good, and in others, it isn't.  All engineering disciplines have a strong history of learning from the past and improving on what was done before.  However, there is one aspect where I do not think software development should follow others, and I'm sure many know it well, the construction analogy. The Construction Analogy " We've got to start with a solid foundation and work from there. "  Software development strategy is very frequently related to buildings and construction.  We tend to describe software as a single building with many rooms and interconnected hallways.  When using this analogy, of course, you need a strong foundation.  More importantly, you need a clearly defined plan for everything about the building before you start. It isn't possible to build the proper foundation without knowing everything about how the...