The business
A manufacturer with about seventy staff across a plant and an office. In the storeroom, behind a shelf of safety equipment, sat a server running their production scheduling system, their file shares, and something nobody could confidently name.
It had been installed by a contractor who had since retired. It was nine years old. It had one disk showing warnings for over a year, and the running joke was that the warning light was part of the decor.
They had been quoted for a migration twice. Both quotes were fine. Neither project started, because both quotes came with a caveat about unknowns, and unknowns are exactly what a board will not sign off on.
Why we did the assessment first
Our first stage is always an assessment, before any quote, and this is why.
Both previous quotes were priced off a conversation. Ours was priced off a month of firewall and connection logs, a licensing review, and a walk around the plant asking people what breaks if this thing is off for a day.
The month matters. A week of logs would have missed the thing that nearly ruined the project.
The eleven dependencies
The documentation listed three things that talked to the server. We found eleven.
Most were ordinary and easy: two label printers on the plant floor with the server’s IP hard-coded into their configuration, a backup job pointing at a share that no longer existed, a supplier’s remote support tool nobody remembered authorising.
Then there was the payroll integration, which was documented, and the scheduling exports, which were not but were at least discovered on the first pass.
The one that mattered
In week four of logging, at month end, a connection appeared that had not appeared in any prior week.
It was a spreadsheet. It lived on the finance manager’s desktop, it pulled directly from the production database over a connection string containing the server’s name, and it produced the monthly output report that went to the board. It had been built years earlier by somebody in finance who was good with spreadsheets, and it had never appeared in any IT inventory because as far as IT was concerned it did not exist.
Here is the part worth sitting with. If we had logged for a week instead of a month, we would have migrated the server, decommissioned it, declared the project a success, and then three weeks later, at month end, the board report would have failed with an error nobody could interpret. The finance manager would have escalated. The migration would have been blamed, correctly, and the goodwill from a clean cutover would have evaporated over a file IT had never heard of.
The cutover
The scope named all eleven dependencies and their owners, and each owner confirmed in writing that they knew the date. The spreadsheet got rebuilt against the new environment in advance and tested against the previous month’s numbers, so we knew it produced the same answer before anyone relied on it.
The cutover ran on a Saturday night with a rollback plan written before we started. The plant ran Monday. Nobody on the floor knew anything had happened, which is the correct outcome.
What decommissioning actually looked like
The old server was powered off but left in place for four weeks, because that is the honest length of a business cycle here and we had just been reminded why. At the end of it, it was wiped, removed and disposed of properly, with a certificate for their records.
That last step gets skipped constantly. A powered-down server left in a storeroom is still a disk full of your data sitting in a room with a lock people prop open.
The point of the story
The assessment cost a fraction of the project and it is the reason the project was boring. Every migration that goes badly goes badly for reasons that were visible beforehand to somebody willing to look for a month rather than a week.
The details above are a composite and the identifying details are changed. The readiness checklist is the question set we work through at the assessment stage, and you are welcome to run it yourself whether or not we do the work. The IT Projects and Microsoft 365 page walks through how an engagement runs.
