Amazon Shareholder Letter

This is a few months old, but Werner Vogels republishes the Shareholder Letter. A summary of how the quintessential 21st century company views its competitive advantage:

  1. Service Oriented Architecture
  2. Distributed state management
  3. Decision management

Regarding Service Orientation:

Our technologies are almost exclusively implemented as services: bits of logic that encapsulate the data they operate on and provide hardened interfaces as the only way to access their functionality. This approach reduces side effects and allows services to evolve at their own pace without impacting the other components of the overall system. Service-oriented architecture — or SOA — is the fundamental building abstraction for Amazon technologies. Thanks to a thoughtful and far-sighted team of engineers and architects, this approach was applied at Amazon long before SOA became a buzzword in the industry. Our e-commerce platform is composed of a federation of hundreds of software services that work in concert to deliver functionality ranging from recommendations to order fulfillment to inventory tracking. For example, to construct a product detail page for a customer visiting, our software calls on between 200 and 300 services to present a highly personalized experience for that customer.

Who Cares About Technology?

Steve Jones reminds us that the business doesn’t care about technology – so stop harping about it and using it as an excuse for underperformance.

I totally agree that this is a key reason behind the endemic business/IT culture divide that is the root of many problems.

However this poses an obvious question – who does care about the technology?. The trick is not to over-engineer, but to engineer to just the right level to deliver business value now and into the future.

Somebody has to care about the technology (products, tools, methodologies), because otherwise you lose control and foster a legacy of technical debt which ultimately erodes business value.

I guess this is an axiom of Enterprise Architecture – that lack of governance leads to chaos and inefficiencies. Some would argue with this assertion, but I have never seen a counter-example. And of course the inverse statement is not necessarily true either.

So if the business doesn’t care about technology then who does? And if that is “nobody” then what happens?

The Value of Enterprise Architecture

There has lately been a lot of discussion about Enterprise Architecture (hereafter EA) in my neighbourhood of the blogosphere. Perhaps this is a sign of adolescence for EA. Its existence is apparent, and now EA needs to decide who it should hang out with and what it wants to be when it grows up. As part of a wider discussion, Richard Veryard has posted some excellent thoughts on the importance of a value proposition for EA. I totally agree with Richard’s view that EA is not just about making projects successful and since this is my blog, I’ll put my view on what I think is the value of EA. EA provides two perspectives which are vital in any long-lived and complex system such as an enterprise.

Continuity: EA provides continuity across organizational boundaries, geographies and – most importantly – the span of time. This is something that any individual project – successful or not – could not do. During the lifetime of an enterprise there are multitudes of projects executed in different places, by different people – outsourced and insourced. Ultimately all these projects must pull in approximately the same direction to support the business strategy.

To take a hypothetical example: “The data warehouse project in Bangalore being built by Tatosys must support the new marketing system being built in Sydney by Bluehair Consulting. And both are critical components for the mobile commerce platform slated for 2012 go-live by either PDQ Global Services or IBS (an HQ company) depending on who bids the lowest fixed price. And by-the-way the core transaction systems run on a mainframe that we are phasing out in the next three years as part of our 2002 strategic plan.”

Each of these projects is a major undertaking in its own right. Even if every project is 100% successful, you cannot be certain they will all fit together in a coherent and efficient manner. Making them fit is more than just a business problem. It goes beyond getting the functionality right and encompasses deeper technical layers of standards, frameworks and systems partitioning which are neither the domain of the business nor of business analysts.

Self Correction: The second value proposition of EA that I see is the role of “external observer and governor”. Enterprises exist in a constant flux of technologies, fashions, methodologies and business requirements. Someone needs to have the ability to evaluate new practices and make the decision to incorporate those that are valuable and relevant. This is not something that individual projects can do, although they may have a role in trialing new practices.

Each of these areas of change exist in the domain of different parts of the organization. The business is hopefully across changes in business requirements, the Project Management Office is (perhaps) across changes in software development methodologies, and the IT department always want to try out the cool new tools. But normally these parts of the organization don’t interact outside the constraints of an individual project. You need some constituency that is across all these areas and helping to guide the amalgamation of new “best practices” into the enterprise. I think that EA is the natural venue for this interaction.

So is this just the “old fashioned” value proposition of “EA-as-IT-planning”, instead of the cool new view of “EA-as-business-strategy”? I see it as something midway between the two. Certainly “EA-as-IT-strategy” is close, but also “EA-as-trusted-advisor-to-business-strategy”. Leave the business strategy to the business, but when it comes to the mechanics of implementing business strategy in terms of systems, processes and technologies, the strategy-makers should be able to rely on EA to guide them as to what works, what doesn’t – and who might take them for a ride.

Richard mentions that he’s “not convinced that the EA value proposition is understood by its customers”. I would go so far as to say I don’t think the EA value proposition is even trusted by its customers. EA needs to engage with its customers, figure out the value proposition and then execute.

11. Don’t Raise the Drawbridge

James McGovern provides some excellent thought fodder for all enterprise architects as they sit on the beach these holidays (or otherwise) and contemplate the new year. I’d like to add another point to his list.

One very common issue I see across the industry is the gap between “business” and “IT”. The typical – almost ubiquitous- example is of a cultural gap between the “users” and the “geeks”.  In its extreme form this gap can break down into a dysfunctional relationship where productivity grinds to a halt. Too often the response of enterprise architects to this gap is to take a defensive position on the IT side of the fence moat.

Enterprise Architecture is supposed to be about engineering the people, processes and systems so they work together to achieve business outcomes. From this perspective, enterprise architects are in a unique position to bridge the gap between business and IT. In fact I would argue it is the core responsibility to act on this manner. Above all, enterprise architects need to first understand the business requirements and then use their unique blend of technical and business knowledge to help IT deliver the required outcomes.

Yes, the real world and realpolitik will always work against you, but the first step is to start with right attitude.