Sunday, October 14, 2012

How is complexity being killed? - Forth question in Stress-testing your Enterprise Architecture

It's time for the forth of seven questions in stress testing your enterprise architecture: How is complexity being killed?

First of all, let's look into which types of complexity we are facing. I can come up with at least three, there may of course be more, but this is enough for this discussion

  1. Business complexity. The way our business is organized and its processes add to complexity further down in IT Systems and information.
  2. IT System complexity. Our IT landscape and how we have decided to divide systems into discrete components will add yet a layer of complexity on top of the business complexity.
  3. Information complexity. Both the structure, content and ownership of information throughout the enterprise adds complexity to both IT system and business.
Don't forget that complexity will be a consequence of your strategy, your goal is to get rid of all of the unnecessary complexity not aligned with your strategy. 

Complexity grows exponentially - what seems manageable initially eventually becomes a behemoth 
Just a word of caution: The costs of complexity is seen first during implementation and then while operating and maintaining the solution. The problem is that complexity costs are higher in later stages - what appeared to be manageable in design, gets hard to implement and impossible to maintain.

But let's try it out. My advise is to use these three steps to find your way to the rumble - once there you will have to navigate on your own.
  • Business driven. Whatever you do, make sure there is a clear business case based entirely on business benefits, not IT benefits. Once there are clear business benefits, then the business will make sure those benefits are realized and that the complexity is in line with the business' strategy. Your responsibility is to ensure that the resulting IT Systems are not adding complexity not introduced by the business.
  • Business verticals. Break down the problem into verticals and implement them one-by-one. Yes, it adds costs. Yes, it reduces risks and time. This can be done both using a best-of-breed and a best-of-suite strategy. Just do it one vertical at a time. Then you will faster learn, faster get something valuable out there and get cashing in on the business benefits.
  • Business information. Information is a strategic asset in any enterprise. Decouple business verticals from an information standpoint. Then they can live their own life and evolve according to the business needs they support. Have clear ownership, clear structure and clear interfaces. Who's owning which information, for what purpose is it used and when is it updated. 
Thus you can have the business drive your architecture through verticals where information is exchanged for the benefits of the entire enterprise.

Makes sense? Let me know what you think.


More to read:



No comments: