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
Because of my involvement in SOA/TOGAF practical guide project at The Open Group, I am getting many questions related to the use of EA frameworks in general. I just want to share some of my discussions with people on this topic here. Many enterprises have been (and are being) challenged, for example, on use of TOGAF for their real EA initiatives. The challenge is the misconception that EA framework, such as TOGAF, can be used “as is” for supporting Enterprise Architecture work. EA frameworks are “frameworks” and they are not meant to directly apply to all situations and solve all enterprise architecture challenges the same way. This means such EA frameworks must be viewed as a “guide” and needs to be customized to address the individual enterprise needs. EA framework, such as TOGAF, needs to be customized by taking into account at least two factors:
In addition to the above points, one should also pay attention to the link between EA deliverables and the actual solution implementation projects. Whatever you do in EA, its value is realized only when the artefacts are deployed and show value to business (e.g. customer satisfaction, business agility, etc). The EA metrics (to measure the success of EA effort) are collected based on such values to the business. EA deliverables must guide and support the solution implementation projects. Thus, EA framework customization should include such a linkage to the solution implementation projects.
Bye for now -:)
Strategic architecture is a part of the Service Oriented Enterprise Architecture Framework (SOEAF) I discussed earlier. In this post I want to share my thoughts on why Strategic Architecture is a very important part of Enterprise Architecture (EA). Many EA discussions I heard this week at The Open Group Architecture Practitioners conference in Toronto indicates that majority of current EA work lack the business architecture component and it is more focused on Information Technology aspect of an enterprise. Because of this it is extremely hard for majority of current EA team to show value to the business in a reasonable amount of time. EA must turn its focus on the Strategic Architecture if it hast to deliver value to the business. If strategic architecture is done in alignment with a business strategy, then the other down stream architectural works (Information systems architecture and technology architecture) will be driven by the business need enabling business and information technology alignment. That is why the strategic architecture is part of SOEAF. If enterprise architecture lacks the strategic aspect driven by the business strategy, then it is highly unlikely that the EA team will deliver much value to the business – rather produce the usual siloed solutions within a segment/domain of the enterprise and as a result reuse across the enterprise cannot be achieved. It is thus very important that each domain/segment architecture is driven by the strategic architecture (which by itself is driven by the business strategy). The usual solution architectures are part of domain (or segment) – which means collectively they contribute to the overall enterprise solution with the cross-segment reuse potential facilitated by enterprise architecture governance.
If strategic level business architecture is not done as a part of enterprise architecture, then the following could be some of the risks:
Yes, it takes a lot of work and re-organization to incorporate such a strategic architecture in an organization with more than one business segments. It may also cost more initially for the transformation. But all the effort and cost invested in strategic architecture pays off overtime with much more stability and competitive advantage for the business of the enterprise.
It seems there is still some confusion out there as to what a “Service” means in the context of Service Oriented Architecture. Just recently I came across a discussion where “service” is being communicated as just a simple web services interface. That is why I thought of sharing here the definition I used in a presentation about SOA over a year ago. I used some concepts from OASIS SOA Reference Model and added other aspects of service that I think are important. The diagram below shows the anatomy of SOA service – what it really means when we say “Service” in the context of SOA. The usual common picture people use to communicate SOA based service is by using the triangle that shows service provider, service consumer and service broker or registry. What is more important and most of the time not clearly explained is the other view of the same triangle I overlay in the diagram below. That is, service has a description, service has implementation and service is governed.
Service Anatomy - What Service means in SOA
In short, the following aspects of “service” are implied or need to be considered when one speaks of service in SOA:
In the above discussion, I did not mention where the service we talked about came from – I mean its granularity, usefulness from business needs perspective, etc. I assumed that a “service” we talk about here is based on top level service architecture as a part of enterprise architecture. See my discussion on Service Oriented Enterprise Architecture Framework which puts the “SOA service” discussed here in a bigger context.
From end-to-end perspective, I think when we say “service” in the context of SOA, we need to understand the above aspects of a SOA service – its complete anatomy.
I discussed earlier that SOA and EA should not be seen as separate and competing initiatives. In this post I would like to share my thoughts on the characteristics of a successful SOA initiative. I will first discuss a very useful concept introduced in TOGAF 9. Previously I only discussed an overview of TOGAF 9 here without much detail. TOGAF 9 introduced a way of dealing with EA through architecture partitioning. There are three architecture types defined, namely, Strategic Architecture, Segment (or Domain) Architecture and Capability Architecture. The relationship between these three architecture types is depicted on the following diagram (taken from TOGAF 9 document).
Source: The Open Group (TOGAF 9 - Architecture levels)