Friday, June 19, 2009

The Architecture as Foundation for the Technology Solution

While your executives should be able to understand the “What” and the “When” as defined by the technology strategy, it is in the “How” that the magic occurs. So, “How” do we do things?

Defining the “How” is an art; not a science—an art expressed around the creation of the architecture. Still, you should always ensure that, if the architecture is to meet its goals, you keep an eye on the way the architecture supports the strategy. Think of how a building is constructed . . . If the business plan is “Promote Religion”, your strategy could be “Build a Temple”; if your business is to “Enable Commerce”, your strategy might be “Build a Mall”. The architecture should match the strategy just as the strategy should match the business. How you architect a Catholic Church would be different from how you architect a Synagogue. There are in fact a set of patterns and principles that drive the design styles for each of these buildings.

Still, the fundamental question from the technology perspective remains: How do you design the temple or church to build? “How” do you build these structures?

What’s the best architecture?

Well, 99% of the time the answer to that any given question (architecture or otherwise) is that “It depends”. Neither will you arrive at the correct architecture by blindly following a set methodology. If it were that easy to dissect and replicate an expert’s judgment, most “thinking” jobs would have been taken over by computers long ago (do you remember all the hype about expert systems supposedly being able to capture and replicate domain-specific expertise?) No, defining and executing the “How” is what justifies your paycheck. Creating the architecture requires inner judgment, a judgment that’s the inherent product of many years of experience combined with a very high dose of common-sense.

This is how the federal government defines architecture.[1]

An enterprise architecture is a strategic information asset base which defines the business, the information necessary to operate the business, the technologies necessary to support the business operations, and the transitional processes necessary for implementing new technologies in response to the changing needs of business. Stated differently, the enterprise architecture is a strategic asset repository, which consists of models that define the current and target architecture environments, and the transitional processes for evolving from the current to the target.

A bit of a mouthful, but what did you expect? Remember, this is a definition from the government. So, to put it more simply, a modern architecture must meet the following conditions:

1. Provide a unified, end-to-end systems approach to technical architecture and design. In other words, it should provide a Unified Architecture Reference Framework. This framework should converge, consolidate, and functionally align the various technology elements in a coherent manner with the business.

2. Define the architecture patterns the company will live and die by. At its apex, the architecture must follow what I call a broad theme. Here I suggest that if the architecture is to have the required flexibility to properly meet the business objectives, the broad theme ought to be the use of the service oriented paradigm (SOA).

3. Incorporate principle-based evolution to move your company from its current state toward a target state. This includes a roadmap of development initiatives that incorporate the adopted strategic tenets and standards.

As shown in the diagram above, the process of architecture is ultimately a process of abstraction. Unfortunately this is often confused with the idea that architectures are just a bunch of un-implementable constructs.

It is your mission to ensure that the architecture is viewed as a stepping stone to a process that will ultimately lead to concrete solutions. This process should have a top-down approach that progressively moves the architecture from a high level definition down through levels of finer detail:

· Level I, the highest conceptual level, contains standards, current architecture, architecture segments, sub architecture models, target architecture, strategic direction, transitional processes, and external architecture drivers.

· Level II breaks down the current and target architecture models to cover specific business functions and technology.

· Level III further breaks down the technology architecture into data, systems, and infrastructure.

Next week I will cover the specifics for each level in this process.


[1] Note that I chose to use this government framework, but I could have just as easily chosen other well-know architecture frameworks such as the Zachman framework. I believe that no one framework is superior to another as long as you stick to the chosen model.