SHARE
Follow this article on Twitter Facebook LinkedIn Bookmark and Share
Home >> Information Architecture >> Data Warehousing

Extending an architecture as it earns business value

Extending an architecture as it earns business value

By:  Alistair Cockburn  On: 16 May 2005 For: Channelworld India 

The executives and sales reps faced an unpleasant task with regard to their flagship product: explaining to their installed customers that they would need to replace their workstations with more powerful ones just in order to install the forthcoming upgrade to the software. The cost of installing the new version of the product endangered the company's very existence. That the company, Mentor Graphics, survived the damage is a story unto itself, but it is not the story of this article. This article is about strategies for evolving software architectures in tandem with business revenue.

The executives and sales reps faced an unpleasant task with regard to their flagship product: explaining to their installed customers that they would need to replace their workstations with more powerful ones just in order to install the forthcoming upgrade to the software. The cost of installing the new version of the product endangered the company's very existence. That the company, Mentor Graphics, survived the damage is a story unto itself [5], but it is not the story of this article.

This article is about strategies for evolving software architectures in tandem with business revenue. I will discuss the tensions between simplistic, simple, and complicated designs for the architecture1 and how those tensions are influenced by the architect's professional ambitions....architectures do affect the business bottom line, and it does matter how they are implemented. Text Here are three case histories to get us started:

(Unhappy) Case 1 (above): The architects chose to replace the product infrastructure with object-oriented C++ code within a single version change. That move nearly broke the company. The architects in Case 1 nearly bankrupted their company with their architectural decision.

(Unhappy) Case 2: The architects promised their executives that their radically new architecture would allow direct translation from use cases to running Java code, making the product incredibly nimble with respect to changing needs. Rather than use the lower-risk strategy of getting a simple architecture to work first and then incrementally rearchitecting it (the general recommendation of this article), the project manager chose to hang all hopes on the new architecture. That turned out to be too hard to implement in practice, and no product was shipped at all.

If the architects in Case 2 had pulled off their dream architecture, their company would have been in a great business position. Instead, the company ended up with no product to sell.

(Happy) Case 3: The architects created and delivered their first running system after three months, using a fairly simple design. They followed that by delivering a new version every three months, modifying the underlying architecture to follow the business's changing technological preferences and vendor affiliations. Over a three-year period, their product moved from being a splinter activity to being a strategic product. The architects in Case 3 delivered a saleable product with a simple architecture and then updated it fast enough to follow the business needs each quarter.

I'M BEGINNING TO SEE A PATTERN ...

These cases reveal a noteworthy success strategy (aka design pattern) that I periodically encounter in my project debriefings: Incrementally Rearchitect from a Simple Initial Architecture. This design pattern/strategy, based on the more general Incremental Rearchitecture pattern [2], recommends that you start with a simple initial architecture that delivers a usable product, then incrementally modify the architecture to extend its capabilities as the limitations become evident and as the business situation changes.


Sign up for our Newsletters
Tags: YAGNI












Print |  Views: 1359   |   Rating:offoffoffoffoff  (0 votes)
Rate this article on a scale of
1 to 5 stars,5 being the best.




Alistair Cockburn Alistair Cockburn is a contributor to the International Data Group (IDG) News Service, which publishes global technology stories from bureaus around the world to more than 300 publications in more than 60 countries.

Related Content

HP agrees to buy EDS
HP agrees to buy EDSThe merger, approved by both company’s boards, would put HP at second place in services behind IBM and is expected to close later this year.
SOA: Understanding the architecture
SOA: Understanding the architectureService-oriented architecture or SOA is an architecture style, not a product or a project. It's an improvement over past architectures in that it captures and uses the best practices of the architectures that came before it. As such, SOA is an evolution in architecture, not a revolution.
Service Oriented Architecture: Six steps to a successful SOA
Service Oriented Architecture: Six steps to a successful SOATaking an organization through a service oriented architecture implementation is an evolving process which needs the right approach to succeed. These six critical steps will put you on a sound footing.
The Myth of Changing Requirements
let us be up front on this: the discipline of system requirements definition and management has a chequered history, even more so than system design and development. certainly the creation and marketing of agile development approaches has some roots in the failure of previous approaches to deliver quality requirements to design/development; it says that requirements will always be too vague, so b
IT Projects -Success with Principles
continues from:http://blogs.itworldcanada.com/insights/2009/03/12/what-can-you-change-in-your-it-department/changing projects management in your it department: let's start with some principles that have emerged for me from
blog comments powered by Disqus