I’m about to undertake an initiative at my current place of work to measure complexity throughout the enterprise. As an SMB, this is actually a realistic undertaking. In my 18 months on the job, I have frequently lamented the enormous complexity-burden the business has built up over the years. Every enterprise has more complexity than they would like, however, in over thirty years of experience, I can say that my current enterprise has built up a truly noteworthy and inglorious burden.
In Chapter 1 of Enterprise Architecture As Strategy (Ross, Weill, & Robertson, 2006), we learned about the importance of building a foundation for execution. Some examples of an enterprise lacking such a foundation are:
- Different parts of the company give different answers to the same questions.
- The business lacks agility.
- IT is consistently a bottleneck.
There were several other examples and all of them accurately describe the current state of my enterprise. I would even add one more to the list, that being intractable quality issues. The bottom line is, we need to build our foundation for execution by attacking our complexity.
As I mentioned, I repeatedly lament our complexity problems, however, talk is cheap and it is imperative that I do more to give meaning and substance to the issue, and to make it stick in the minds of the executives. So, I decided to start by quantifying our complexity, which, admittedly, seems like a complex undertaking that should be doomed to fail due to its own complexity.
To drive home the complexity of assessing complexity, I offer the following text from the Harvard Business Review (Sargut, G., McGrath, Rita, 2011) describing complexity in the modern business and how to assess it.
Three properties determine the complexity of an environment. The first, multiplicity, refers to the number of potentially interacting elements. The second, interdependence, relates to how connected those elements are. The third, diversity, has to do with the degree of their heterogeneity. The greater the multiplicity, interdependence, and diversity, the greater the complexity.
I do not disagree with the theory whatsoever, but I also know that measuring the three properties of complexity are a non-starter - it truly is too complex, at least for me. It seems then, the critical success factor in measuring complexity is to keep it simple - really simple.
After a lot of thought and many spreadsheets, it hit me - just count things. Nearly all problems that burden a workplace can be expressed in the form of a count. For example, as a law firm, each of our clients (banks) have unique processing requirements that we have a difficult time keeping straight, which in turn leads to quality issues. So, let’s express this problem with a count and consider counting the number of clients with less than five cases per year (these clients add to our complexity without adding much to our revenue). The bottom line is that a business or IT problem can almost always be expressed as a count.
Eventually, weighting factors will need to be added to show more importance to, say, the number of finance systems in use (a whopping five at my current SMB enterprise) versus something slightly more innocuous, like the number of different database versions we’re running.
A simple four column spreadsheet of 1) the name of the count, 2) the actual count, 3) the weighting factor, and 4) the product of 2 and 3 is what I’ll be using. By summing up column 4, I’ll get my enterprise’s complexity factor, which, of course, over time we want to drive down.
Some guidelines I’m using for populating my list of counts are:
- Structure or phrase the count so that simplification is measured by a reduction in the count.
- Be sure to get the important counts (like the number of unique finance systems) without stressing over the less important counts. However, when you trip across something, count it. As an example, when an intranet website was down, I discovered that it was not running on our designated intranet web server. This adds to our complexity, and even though it’s not a huge deal, it’s still a complexity I’d like to erase, as these small items do add up.
- Don’t just count IT things, also count business things, such as the number of clients, the number of business units, the number of products, the number of states or countries operating in, the number of facilities, etc.
- Don’t avoid counting business things that would be considered negatives if the number went down, such as the number of clients or number of employees. No matter what, the bigger the number, the greater the complexity, and the goal is to draw attention to the enterprise’s complexity.
This exercise/experiment is full of challenges, such as the subjectivity of the weighting factors, the difficulty of measuring progress if we keep tinkering with the weighting factors, or the difficulty of measure progress if we keep uncovering and adding pre-existing complexities.
Nevertheless, counting things truly is simple. It gives an EA Team a metric that can be measured and hopefully evolved into something meaningful and it will help permeate the thinking of the business, leading to decisions that simplify the enterprise, helping to create a foundation for execution.
References
Ross, Jeanne, Weill, Peter, Robertson, David. (2006). Enterprise Architecture As Strategy. Boston, MA: Harvard Business School Press
Sargut, G., McGrath, Rita. (2011, September). Learning to Live with Complexity. Retrieved from
https://hbr.org/2011/09/learning-to-live-with-complexity
Hi Scott. I have also been working on this problem in my role. For the last 2 years, I have been theorizing and bumbling about on this topic. I have read countless whitepapers and academic attempts to quantify complexity only to come to a similar conclusion as you have. Keep it simple.
ReplyDeleteMy recommendation is that you significantly limit your scope which it sounds like you are doing. Perhaps you should pick a small space and discuss what success looks like. Then get some numbers as you suggested and you can drive towards improvement.
For example, do we want to standardize on a small handful of operating systems? Why? Do the math (you will probably need to make major assumptions) to justify why there is a net positive benefit in doing so. Make sure everybody buys it.
The financial applications you mentioned sound like a great, juicy target that can definitely be measured. We have 5, in 2 years we'll have 3, in 4 years we'll have 1. That sounds so much more achievable than some of the boil the ocean approaches that I have witnessed.
One of the irritations I have when people start talking about complexity is the assumption that less is better. Wall street expects annual growth, every year. Tech is changing faster than ever. Do we actually expect our application portfolios or technology portfolios to be getting smaller year by year? We may actually choose to increase the count and variety of components in our architectures (and the complexity) because there is positive value in doing so! Take that complexity haters.
One of the white papers I have talks about product complexity often being a good thing. Product and service differentiation is a good thing that customers will pay for. This may unavoidably increase the underlying technology complexity.
And in today's world with disruptions like microservices, exploding use of open source, polyglot architectures, we have to make sure we are measuring complexity in the right places. Complexity reduction efforts are most effective applied to the interfaces of complex systems. Do I care if you've built a bunch of microservices in different languages with unique databases if it is all abstracted behind a simple, stable API? Probably not. Whether I know it or not, I'm probably grateful that what you built runs so well because it is built using fit-for-purpose components.
In fact, somewhere along my journey with thinking of systems complexity, I took to using the adjective unnecessary; as in, reduce unnecessary complexity.
Please consider keeping us informed of your journey. I would be really interested to hear how it turns out.
Scott,
ReplyDeleteFirst of all, I commiserate with your so-called inglorious burden.
It appears that "complexity vs. simplicity" has become one of the dominant themes this week for the class. I appreciate the HBR reference -- a very instructive and nuanced discussion. And I think your own piece nicely supplements Joe's and Paul's discussions which for me brings a beautiful trifecta. If you haven't done so, it would be good to take a look.
Finally, to help you in your unenviable position, remember this: In the face of great complexity - it doesn't hurt to pray.
Cheers, and thank you for your post.
Ian