Back in 2004 I was working in a local internet service provider. It was a small company with a little more than ten employees. I was a junior system administrator helping a senior admin who worked part-time to run the whole network of around a thousand clients.

The owner of a company was very tech savvy. He ran the business in the app he wrote himself using MS Access, which was quite popular back then. And one of the problems was to integrate his app with a proprietary client management and billing software the company was using, a messaging app the team was using to communicate (it was Jabber, a pretty advanced tech at the time compared to different versions of AIM-like messengers everyone kept using).

On top of that, I was tasked to create various custom tools, for example one was used for the users to get a grace period when they couldn’t pay for another month of using the system — the billing software was very strict, if you had no money on your account you were cut off. Getting these customizations to reliably work was quite painful and long process, as much as writing them — I was doing it the hard way by writing CGI scripts. Not the smartest choice, but I didn’t know better — the billing system was using this language so I just picked the same one.

The Problem Has Gotten More Complex

Nowadays, my company builds internal tools for businesses. Essentially, we’re solving the same problems I was working on 20 years ago, only the variety of tools that need integration and interoperability is much larger.

If back in the day it was mostly proprietary software that ran on the server or on desktops of employees, now we have a whole universe of SaaS tools and CRMs and various no-code soultions that businesses use to organize their work.

More software actually creates more manual work. Imagine a quite typical scenario. John, an employee of SuperCo, comes to work on Monday morning. He gets a Slack message from his boss with an assignment. The boss sent him a PDF of a presentation, so John goes to GDrive and uploads the file there, putting it in the appropriate folder and naming the file correctly.

He then goes to Asana to add the assignment so that it’s in the system, pastes what the boss told him and attaches the file there as well. The assignment is about talking to one of the company clients today. John goes to GMail and writes this client, Mike, and email, attaching the file yet again. He copies Mike’s email and creates a meeting. Luckily, the CRM system syncs the emails and meetings automatically.

The High Costs of Disjointed Systems

After the meeting, John goes to Notion to log how the meeting way in a special format, because the notes in the CRM the company is using don’t really work, so the COO created a process in Notion where you can created structured notes. John fills in about 20 different fields, attaches the PDF he got form the boss yet again, adds the link to the meeting, types the client name etc etc.

Then he returns to Slack where he got 30 new messages from colleagues.

Maybe it doesn’t sound like a lot of work to you, but the actual valued work that Mike have done took about half an hour — that’s how much he was talking to the client. He likely spent another half an hour on all the additional steps. Let’s say Mike is making $60K a year, and company has 100 people on the team with about the same salary. If half of the team’s time goes into such manual work, the company is losing $3M a year.

The Human Struggle

Also, people don’t like doing boring manual labor, and filling in forms, pasting text between systems, formatting things and so on is precisely that. Any COO would tell you that you can force people to use the process only for a short period of time. If it’s too much of a cognitive work they’ll likely start making shortcuts sabotaging the perfect process you designed. Or, if you persist with applying force, the probability of best people resigning would go up dramatically.

The Need for Integration

If companies could just skip all these problems and avoid using all these systems, millions of developers would be out of work. But they can’t. Software is taking over the world for a reason. There’s a lot of value for businesses in collecting the data and organizing the work using software. The opportunities for analytics and forecasting are immense, and they are lost if things are not recorded properly. And with the rise of AI, every company that is not organized will loose a competitive edge against those who are.

Maybe that’s why companies spent $4.5 trillion on IT in 2021 (that and because everyone was rapidly switching to supporting remote work). That spend will only grow, because there’s no way around using software, and more software creates more problems. These problems are solvable, but they require a lot of well-thought decisions to be made.


Companies are rightly investing billions in IT to try to solve these problems. But it requires a holistic approach to systems integration and workflow automation. There are no simple plug-and-play solutions. Businesses can’t avoid adopting software tools, because they provide invaluable benefits. But integration and interoperability is crucial to realizing the full value. This is a complex challenge that companies have struggled with for years, but the stakes keep increasing as software proliferation continues. It’s a multi-faceted problem requiring expertise, user-centric design principles, and customized solutions. But the payoff for companies who can successfully tackle it is massive.


Originally published on Medium.com