all bits considered data to information to knowledge


Design vs. Architecture

Some time ago I came across a discussion posted in a LinkedIN Enterprise Architecture group; it was about how (if) design is different from architecture. The question kept bugging me for a while - I felt that there is difference but could not quite formulate my thought. Until today, that is 🙂

The break trough came while reading Software Systems Architecture by Nick Rozanski and Eoin Woods

Design refers to functional composition of the system, while architecture is also concerned with behavioral aspects of it. Therefore, architecture includes the design component, and extends it by adding quality attributes.


Extensible Architecture

Q: How to prove to a client that the system is extensible? (an actual question...)

Nail down the client’s definition of extensibility first; it might be possible that her ideas are quite different from yours. Once you are on the same page, make sure she understands the limitations of extensibility and ramifications of thereof; for example, she might want a Cadillac but only has a Yugo budget.  

Designing an infinitely extensible system requires both time and budget of corresponding proportions…

 In a single sentence: an extensible architecture would have a modular structure as well as defined set of API(s) for integration; current paradigm leans towards loose coupling, usually via Web Services (latency, concurrency and other inherent limitations need to be carefully considered).