I came across a blog by Richard Veryard on architectural principles. He argues against the importance of SOA/EA principles by stating that “they may have some limited use, but they are not strong enough to bear the weight that is commonly put on them”. This is only true if the architect misunderstand what the architectural principles are or the architect is unable to link the principles with the reality and measure them. How can you measure the applicability or usefulness of architectural principles? I will share with you my 2 cents thought on this. Enterprise Architecture, SOA or any other architecture, for that matter, needs to be guided by certain architectural principles. Where do these principles come from? Well, in the first place, the architectural principles must support the Enterprise architecture objectives/goals (which in turn must be driven by business objectives or strategies). That means the principles you put together or use to guide your architecture is not just from no where. They have linkages to the business objectives. For example, the business objective may be to be the best in customer service/satisfaction – customer centric. So, the Enterprise Architecture objectives must support that business objective. The principles must be developed to guide to achieving that business objective (customer first). Your architecture will then be guided by those specific principles. There is a challnge though. Let’s say you have an architecture that is in compliance with the priniples. But, how do you know the architecture get implemented without losing the core priniples? How do you measure the effectiviness of your priniples? Unless you make sure that they are implemented and you are able to measure the effectiveness, those priniples may be disconnected from the reality (i.e. deployed business solution); in which case Richard’s argument may hold. Here is how you may measure:
If the right principles are developed based on EA objectives (which support business objectives) and the implementation of those principles are followed down to the solution deployment through concrete guidelines (which are meausrable), then priniples are very important for any architecture initiative.
Awel Dico
Thanks for the discussion. I completely agree with the importance of your rhetorical question “Where do these principles come from?” – but you haven’t answered this question. You have told us what the principles must do (support objectives/goals), but why should we believe or adopt these principles if we don’t know where they come from?
In agriculture, the principle of crop rotation developed over many centuries, from a three-field rotation in the Middle Ages to the four-field system popularized by “Turnip” Townshend and George Washington Carver. Such a principle has a detailed history, supported by a wealth of observation and measurement and empirical science.
In mechanical engineering, design principles are soundly based on the laws of mechanics, the properties of materials, and so on.
By contrast, the principles that are popular in SOA and enterprise architecture often lack any visible grounding in fact, and are justified by appeal to pure reason and the consensus of experts. But the consensus among experts shifts over time, and this encourages a degree of scepticism among those of us with long memories.
Thanks Richard. My initial understanding from your blog was that you argue against the need for the SOA/EA principles. However, from your comment here it seems you are pointing to the quality of the principles, rather than their general importance. If your concern is on the quality of those principles (and not the argument against the need for the principles), then I am with you. The example you gave from mechanical engineering discipline tells me that your concern is on the quality of the EA principles that lead to the limited use (or effect) of those priniples. Given the time it took for the mechanical engineering design priniples to mature based on research, do you think the SOA/EA priniples will eventually mature over time as we learn more?
Name (required)
Mail (will not be published) (required)
Website