The spreadsheet is the system, and everyone knows it
There is a file somewhere in your company that the business genuinely runs on, that one person understands, and that nobody wants to touch. It got there for good reasons. It stays for worse ones.
Ask a company what software runs their operation and you will get the name of something they pay for. Ask what would actually stop if a particular file were deleted on a Friday afternoon, and you get a different answer, delivered more quietly.
The spreadsheet is not a failure of discipline. It is the only tool in the building that does exactly what the business needs, because someone in the business built it, in response to real problems, over years. That is precisely why it is dangerous.
How it becomes load-bearing
It starts as a list. Then a column gets added because a customer asked for something. Then a tab, because the list got long. Then a formula that encodes a pricing rule nobody has written down anywhere else. Then a second copy, because two people needed it at once and one of them was on a plane.
By the time anyone notices, the file contains business logic that exists nowhere else, in a format with no history, no permissions, no validation, and no way to know which version is real. It is a database with none of the properties that make a database safe, and an application with none of the properties that make an application maintainable.
The specific failures
These are not hypothetical. They are the same five things every time:
- Nobody knows which copy is current. There is a version on a shared drive, a version in someone's downloads, and a version emailed to a customer that has quietly diverged.
- There is no record of who changed what. A number is wrong. It was right last month. There is no way to find out what happened, so the conversation becomes about blame rather than about the number.
- Everyone sees everything. Including the margin column, the pay column, and the customer nobody was supposed to know you lost.
- The logic is invisible. A pricing rule lives inside a nested formula in a hidden column. The person who wrote it left. It still runs.
- One person is the system. They know which tab is stale and which cells to never sort. They cannot take a holiday without a briefing document.
Why replacing it usually fails
The standard response is to buy something. It fails for a reason that is easy to predict and hard to admit.
The spreadsheet fits the business exactly, because it grew from it. Any product bought off a shelf fits the average of everyone who bought it. So the rollout goes: the tool does not handle the one thing that matters most, someone builds a workaround, the workaround lives in a spreadsheet, and now you have both.
The second failure mode is the big rebuild. A twelve-month project that models everything, delivered at the end, by which point the operation has moved. People go back to the file they trust while they wait, and never leave.
What actually works
Treat the spreadsheet as a specification rather than an embarrassment. It is the most accurate description of how the business really runs that exists anywhere, written by the people who run it. Read it properly and most of the requirements-gathering has already been done for you.
Then replace the smallest part that carries the most risk. Usually that is the single source of truth for one entity: the jobs, the orders, the clients. Not the reporting, not the dashboards, not the integrations. The list everything else depends on.
What that piece needs, and what a spreadsheet cannot give it:
- One record, one place, with a history of every change and who made it
- Validation, so the states a record cannot legally be in are impossible rather than discouraged
- Permissions, so the margin column is not a matter of trust
- The business logic written down as code that can be read and tested, not buried in a formula
- An export, so leaving is always possible
Import the spreadsheet on day one. If people have to type their existing data in again, they will not, and you will have built a second system rather than a replacement.
The honest version
Some spreadsheets should stay spreadsheets. If it is genuinely a list, if one person maintains it, if being wrong for a day costs nothing, leave it alone. Replacing it with software is a downgrade dressed up as progress.
The test is not complexity. It is what breaks when the file is wrong, and how long it takes anyone to notice.