Tuesday, October 30, 2007

Ehancing EA with SOA

(prompted by Enhancing the EA with SOA - by CBDIforum)

SUMMARY
Enterprise architecture is a slowly maturing practice used in an increasing number of organisations, as a valuable tool, not just from a technology perspective but also in terms of understanding how the business operates and what determines its operations (regulations, strategies, market factors etc.). Service Oriented Architecture (SOA) is being put forward as an approach for organizing systems and technology infrastructure architectures to better enable business agility. It is going to be critical that best practice in EA is extended to incorporate SOA perspectives.

This is precisely the area RHE has targeted through a focus on both EA (tools and methods) and on SOA (enabling technologies and methods).

DETAILS

For large organisations architectural complexity has become so great that the adoption of new technologies is a costly, high-risk, and time-consuming endeavor with legacy solutions often lingering for years after newer technologies are adopted. For many organizations agility enables new technologies to be exploited to create a competitive advantage in the market place. EA techniques are widely used to address this complexity, and to facilitate better decision making.

SOA is seen as one of the key enablers of business agility and its widespread adoption throughout the IT product vendor space necessitates that organizations learn to manage and exploit SOA. Everyone from new internet oriented organisationss (e.g. Google and a pethlora of other SaaS vendors) to the old legacy ERP vendors (e.g. SAP, Oracle) have adopted SOA as the primary paradigm for systems integration. Business organizations will rely more heavily on sets of third part products and services integrated to create their unique solution set (rather than large bespoke applications).

To capitalize on new technologies and products, organizations will need to mature their SOA capability so they can effectively integrate these packaged services to transparently support their business operations. This means incorporating SOA into their EA planning process.

There is also a more urgent driver for incorporating service architecture into the enterprise architecture. All of the main development environments today can rapidly publish .Net or Java classes as a Web service. The implication of this is that your organizations service architecture may be defined at the whim of any developer or software designer. And while a few may be professionals making good design decisions, very few, if any, have the enterprise perspective to identify the optimal collection of services for the enterprise without a broad planning process.

The EA must provide the target service portfolio plan that enables all these developers and architects to concurrently and semi-autonomously drive the software for which they are responsible toward a common strategic vision.

For many organizations, EA provides the first enterprise view of the systems architecture and the results are often enlightening. System redundancies and over-extensions become readily visible as do some cross-departmental value chain inefficiencies. As EA exposes these opportunities for improvement, organizations begin to analyze how to capitalize on them. This is where SOA comes into play.
Inevitably, the solution to these problems requires the containment and elimination of some technology solutions, while others are being extended to support a broader scope of use within the organization. SOA provides the means (formal techniques, best practices, and work products) that enable these problems to be solved and communicated with new clarity of purpose.

Software architecture tools also play a role here in allowing views of the major modules of applications and interactions between these modules to be understood. The modules and interactions may useful insights into redunancies across the applications portfolio and possible integration points which may be candidates for externalised services.

The transition process RHE has long recommended is to contain, through encapsulation (via introduction of a technology capability service), a technology targeted for retirement. This allows the business requirements to be aggregated on this service and facilitates the selection and downstream adoption of a newer technology. Once all dependencies on the older technology have been moved to the newer one, the older technology can be retired. Such a transition approach is inherently service oriented.

The CBDI item goes on to describe Zachman's framework and suggests most EA activities focus on the top three rows (where as I see very little if any focus on the top two rows - and most of the focus has historically been on existing infrastructures, applications and technologies standards (i.e. as far away from the business as possible). It then goes on to say that "these architectures are all similar from the perspective that they specify particular views" - which is clearly not really the case - as Roger Sessions has pointed they are actually not even of the same class i.e. TOGAF does not define a taxonomy, Zachman does (but the exact views and not that clear), FEAF defines meta-views (but is imprecise on what specific views might be), and it focuses on Reference Models (which are useful categories for investment planning and business cases), and only DODAF really focuses on views.

Most glaring they fail to define a key failing from the Zachman taxonomy defined 20 years ago i.e. that it doesn't really define interfaces (user or system) very well - because in what was essentially the "single mainframe, single application, terminal based access for an internal audience" model of 1987 these things didn't warrant much sufficient attention.

Table 2 suggests "Traditional EA Model Elements" include: Business Rule, Event - yet few EA's I have even seen have good organisation wide inventories of either. Good EA (if they were of the business) would also surely have a business's products/services, markets, projects/initiatives, locations etc.

The rest of the item is quite good in describing a services and how they should be modelled to allow them to be instantiated, used and operated.



Friday, October 26, 2007

EA for SOA (CBDIForum)

(prompted by EA for SOA?)
This raises some issues - but doesn't answers for a number of them.
1. Current Architecture Death March - Automated collections [ETL] from the plethora of silos makes these significantly easier, as does role based Web portals to the information i.e. that allow the changes to be recored as part of day to day business.
2. Technical Reference Model (TRM) Stagnation – The biggest issue with TRMs is that different taxonomoies are suited for different purposes e.g. Asset management (which tends to be around products that can be bought), Standards management (which is oriented around more abstract concepts - i.e. not around products), Organisational divisions of responsibility (i.e. that organise technologies in large organisations around the organisations that will support them e.g. you will find all OSes looked after by what is really Server oriented systems group) Technology architecture (which lies between Asset and Standards). There are several solutions - one is use different TRMs for different purposes (modern EA repositories allow things to be classified using many taxonoies)

3. EA Compliance Becomes a Barrier - The difficulty in measuring the value of EA is
well known (e.g. I think it relates to counterfactual reasoning - see http://ea-in-anz.blogspot.com/2007/08/justifying-architecture-and-strategy.html).
Town planning is a good parallel. Town planning compliance is a barrier to laissez-faire property develop - as it should be. One can also see there is nothing wrong with a "critical business initiative" overridding the "planning authority's" existing plans - provided it is done openly, for well discussed reasons and by exception. Major programme of capital works involve overriding existing town planning regulations, and local planning guidelines on a regular basis.

4. Why so much effort was being put into hoovering up information about existing systems - because you are starting at wrong place i.e. the systems (which are a technology legacy that reflects a combindation of what the business wanted to do once, and how it once considered best to implement this). The right place to start is at the top (in the business) or as near the top as possible. Process models are also too detailed a place to start (this Webinar discusses some of the issues -http://www.troux.com/company/events/webinars/20060511caston/)

SOA and EA - issues with EA can apply to SOA. The difference is that the failure of SOA will be more obvious and damaging to the business (you can't bury you SOA mistakes as easily as you can your EA mistakes). see: http://ea-in-anz.blogspot.com/2007/08/soa-must-be-underpinned-by-better.html

A canonical data model - You can't like processes to them because in practice they seldom exist (I have never seen one that is anywhere near complete). See http://ea-in-anz.blogspot.com/2007/09/enterprise-data-management.html

I agree that SOA is a core enterprise level strategy. But the SPP needs to be built from the top down (using Zachman as a reference for top and bottom).

Tuesday, October 23, 2007

SW Architecture feeding into Enterprise Archiecture

(prompted by work with Lattix)

SW Architecture analysis compliments Enterprise Architecture
Lattix is an excellent fit with other offerings e.g. those targeted at software design and development, and those oriented at the business architecture and strategy and its relationship to systems. Lattix should assist people reduce the costs of maintaining and extending their systems, whilst also improving the agility and reducing the fragility of these systems.

SW Architecture analysis compliments OO design modelling
RHE was a very earlier adopter of OO analysis and design techniques and introduced UML to many clients in the mid 1990s so I think we have fairly good to top to bottom view of this domain. While UML is very useful in analysing the exact characteristics and behaviour of a relatively small number of critical objects (to be constructed) it is fairly clear that UML does not provide a good way of managing large SW architectures (ie. set of objects have have been constructed and/or elements that do not involve engineering objects).

SW Architecture analysis and EA touch points
There is quite a natural point of interface between an EA systems and SW architecture analysis tools. A EA knowledge base brings together information held in many different discrete silos e.g. business goals, strategies, plans, initiatives etc. (often held in Office docs); business services, processes, rules, information, etc. (often held in discrete models and/or Office docs); extant systems (technology platforms, applications, datastores etc. - held in a range of places e.g. CMDBs); programmes and projects; etc.

Assuming an application is held in an EA repository - and it has also been analyzed by a SW architecture tool - it should be possible to augment the EA's knowledge of the application with information about its structure (e.g. modules) that is known and accessible from the SW architecture tool. This level of detail may be useful when changes or adaptations are being considered. It would also give EA's a more detailed understanding of the applications portfolio - which may provide more insight into the duplication of functionality across the portfolio of applications (supporting rationalisation, refactoring of the set etc.), common services interaction points (for SOAs) etc.

OTS applications
Obviously if one looks at an application portfolio in a large organisation many of the applications are OTS or constructed by third parties (and no insight into their internal structure is often provided). Though no doubt if the organisation developed a habit of recording the major modules within applications it may be that progressive vendors could provide the level of information necessary.

Zachman as a reference point

Using Zachman as a context - Lattix sees its positioning as at designer/logical and physical/builder levels. I also see Lattix operating at the Detailed representations/Out of context/sub-contractor level (i.e. completely outside the bounds of EA per se). In the following diagram I don't see the connection to services at the conceptual level correct (I think it is an attempt to overcome limitations in Zachman's suitability for SOA).




How lattix represents logical and implementation information
Having established a relatively positioning for the information Lattix collects and analyses we can examine how this information is represented.

Monday, October 15, 2007

Business and IT transformation

(prompted by New Tools Give Enterprise Architects Multi-Tiered View)

Short version of this is: The trouble with strategic transformation in the enterprise, and managing the IT projects that support that transformation, is modeling all the moving parts of a complex enterprisey e.g. how will a new data center affect the company's bottom line?

It is easy to represent the as is and the to be, but transformation, scenarios, assumptions, are more abstract and with big changes one wants to minimise the risks.

EA repositories allow organisations to record/understand how the different aspects of a enterprise fit together today, and how they may fit together in the future, but they struggle to model complex change sceanrios that can show exactly how to reach future states (through different paths) and what the enterprise will look like at any interim point in time.

Troux Initiatives provides multi-state views of an organization (today, when a transformation is complete, and the various paths that can be taken to achieve a goal). All of the information from all the plans for transformation (and the aspects of the enterprise affected) are stored in a repository that actively tracks the states. Scenarios allows you to link a things a repository and say they're associated somehow.

See also:
T7 announcement
CIO is key to business and IT transformation



Wednesday, October 3, 2007

Improving IT's reputation and alignment

(prompted by IT's bad reputation and IT projects not focus on delivering business value)

The 1st of these points out that many IT organisations are seen as part of the problem instead of part of the solution (and some expertts on management strategy suggest "When you want to run a quick experiment, I tell people don't go through the IT division because they are just going to tell you 'no,' and it's going to take forever to get it done."). It notes
  • some IT managers come across like the stereotypical bureaucrats, shuffling paper (and paper is a big part of the problem) [see problems with paper]
  • that the inconvenient truth for some is that they must change their ways of managing if they want to be leaders. CIOs must create an environment where the empowered worker can thrive and educate their colleagues on how technologies are disrupting the way companies operate. [see CIO's challenge]
The second suggest half of companies measure the success of IT projects based on whether they deliver to budget, rather than the business value achieved by projects (i.e. rather than how projects can deliver measurable value and be mapped on key business goals). The use by CIOs of spreadsheets to plan projects is seen to to give them a lack of visibility and control, and makes it difficult to link aspects of the work. They should focus on tools that give them a view of how projects align with their business, their technologies and to each other.