Few weeks ago, I got some time to think about how we should approach to our S/W design/test engineering.
IMHO, in many cases, we end up like building construction. I think that it is making sense to see an application as a building which has many internal components and aspects. it has fairly complex interdependency between each features and components. However one thing, which I could see in many chaotic or messy projects in engineering stand point, is that team was just focusing on how to build a building and forget about how each buildings in the over all blue print can work together.
We need to remember that we are building harmonic echo system as one big city than just one small application.