I had a great phone call with Roger Sessions (@RSessions), CTO ObjectWatch a month ago about IT Complexity. Over the past few weeks, I got a chance to read about Roger’s approach Simple Iterative Partitions (SIP) in a series of white papers:
- Controlling Complexity in Enterprise Architectures – Executive Summary
- Controlling Complexity in Enterprise Archtiectures – Mathematical Foundations
- Controlling Complexity in Enterprise Architectures – The SIP Methodology
Some key points that resonated with me:
- Autonomous Business Capabilities (ABC)
- Mathematical Basis for Understanding Complexity
Years ago, we used a simplified model to articulate why we needed to build our Enterprise Architecture practice. The central premise of the argument was that as functionality increases so does complexity. We proposed using IT Governance and Enterprise Architecture to manage complexity. See the slides here.
Roger has published a new white paper – The IT Complexity Crisis: Danger and Opportunity on October 22, 2009. The main sections of the paper are:
- The Coming IT Meltdown – calculating the costs
- Cause of Failure – measuring IT complexity
- Designing Simpler IT Systems
- Impediments to Simplicity
- Call to Action
Here is a part of the section on calculating the cost of IT failures from page 5 from Roger’s paper.
Calculating the Cost of IT Failure
To find the predicted cost of annual IT failure, we then multiply these numbers together: .0275 (fraction of GDP on IT) X .66 (fraction of IT at risk) X .65 (failure rate of at risk projects) X 7.5 (indirect costs) = .089. To predict the cost of IT failure on any country, multiply its GDP by .089.
The following table performs this calculation of various regions of the world.
Region GDP* Cost of Failure*
World 69,800.00 6,180.48
USA 13,840.00 1,225.47
New Zealand 44.00 3.90
UK 2,260.00 200.11
Texas 1,250.00 110.68
Canada 1.564.00 125.00 <– I added Canada – my country
Table 1. Predicted Annual Cost of IT Failure
Next, Roger explores reasons for IT failures. Some suggested causes where poor communications between IT and the business and the increase on functionality but neither match the increase in IT failures. Roger introduces complexity as the issue and uses Glass’ Law which describes functionality as indirectly related to complexity. A 25% increase in functionality results in a 100% increase in complexity. Here are the 3 main points:
- complexity increases with functionality
- complexity decreases with partitioning
- complexity increases with system connections
There is a fine balance between functionality, partitioning and connections that determines the complexity of a system. In the next insert, Roger explains his standard complexity unit (SCU) and his formula for measuring complexity “Sessions’ Summation of Bird’s Formulation of Glass’ Law”. It’s actually not as complicated as it sounds. Roger updated his web post with an Excel spreadsheet to help calculate complexity.
The paper goes on to describe Roger’s Simple Iterative Partitions (SIP) process (see the white papers I mentioned above) and how to apply it to measure architectural complexity of standard architectures.
Finishing up, Roger describes 3 impediments to simplicity and they are:
- Fear of a New Process
- Fear of Managing Multiple Vendors
- Political Realities
Lastly, there is a call to action. How can we introduce simplicity in the organizations we work in and the solutions we implement? Reading Roger’s work on complexity is a great start. I plan on trying the techniques in the paper and will share them with you.
Thanks Roger for broadening my perspective.