Introducing Digital Complexity Accounting
Digital Complexity Accounting is a new way to deal with the classical problems that arise during digitalization. Projects are sometimes failing, but more often, they are just not delivering the promised value. And over time, making the enterprise architecture landscape more and more complicated. There is underlying hidden complexity that we need to account for.
Everybody is trying their best, with no malicious intent, yet this keeps happening again and again. No industry or geography is safe.
Looking Deeper
Each change in the business is always evaluated from a cost and benefit perspective. When a new retail store is planned, then foot traffic in the area is measured, the customer catchment area is defined, customers are segmented, and all that is compared with the offering of the store. Potential revenues and profits are plotted against the costs of goods, rent, and store employees' salaries. If calculations turn out to be positive, the predicted profit margin is up to the expected level, risk appetite is there, capital is available - the business decision can be made. The project of the new store opening is started.
But what happens when a new change in the IT architecture is envisioned? The start of the process is the same, the new idea is written down, and the costs and benefits of the implementation are discussed. Say you want to move from old homegrown legacy software to the new and modern cloud-based CRM to run your business. That is not a bad idea at all - there are tons of out-of-the-box features, almost all the checklist of company needs are covered, plus there are tons more to choose from if the need ever arises. There is an implementation cost that is considered a capital expense. There is an ongoing subscription fee, which is an operational expense and is much cheaper than having an internal development team dealing with the legacy tools. It is a great equation. The transformation project can begin!
Unfortunately, companies often do not look deeper at the potential new complexities and operational problems this new approach would take. There will likely be the following typical problems: 1. The new CRM will be quite hard to integrate with some other in-house systems. It will be done, but it will be much harder to develop and maintain such integration than it was with the old system. And any such customization to be done from the CRM side will be quite expensive as you will need to pay high consultant rates. That is if they will offer to do any customizations at all. It could be that you will be stuck with whatever APIs they offer, and that's it. You will need to do some additional development on your side instead, in one of the other systems. Or maybe build a new proxy system just to deal with it. 2. It will turn out that some of the out-of-the-box features do not exactly match the business process. It will be hard to change how CRM works and hard to adapt the business to the new system. You will end up with a lose-lose compromise. With prettier dashboards. 3. the new cloud system will likely cover only part of what the old legacy system was doing. Other features will be moved to other cloud solutions or will remain as legacy solutions, albeit smaller in size and significance. Due to this, the number of integrations between systems will increase. That will lead to more failure points and a system landscape that is harder to understand. 4. New tool being in a cloud will also cause some issues with internal security policy, access controls, privacy controls, GDPR, and the fact that old systems that are behind the firewall in a data center need to connect to the cloud now. 5. While in the old system, reports could be generated directly from the database using ever more complex SQL queries. In the new system, you might need to rely on the predefined reports or export all the data and then analyze it elsewhere. 6. All the abovementioned small complexities will mean that there will need to be some people who maintain this solution and keeps it working as expected. The initial business plan probably didn't have that.
And that will be the main issue - all those minor details will cause costs. Either direct costs like additional personnel and need to configure firewalls and change other systems, or indirect costs like the being locked-in with a vendor, having to organize the business process around the new system, or having to spend more effort to get the same reports as before. None of this is likely to have been part of the original business plan.
And the worst part is the hidden cost of the complexity - more systems, that are integrated in more ways, introduces completely new types of costs that also need to be accounted for. Like cognitive cost - just keeping in mind the complexity when designing new products is a cost. What if something small but important is forgotten? The same about maintenance and support - a more complex system more likely means that it will take longer to figure out various edge-case scenarios. And longer ticket resolution time leads to lower customer satisfaction. Again, something to account for before making a new technological business decision.
The Book
I am going to explore this idea deeper from various angles and with various examples form corporate life. Text will be laced with various snippets of psychology, economics and software architecture to create great and immersive experience into corporate relationships between various IT and Business departments.
You can purchase book here - The Invisible Complexity