BackgroundA large company had been working with an external contractor on a major software project. As the project neared completion, they asked us to step in to review the deliverables and ensure a smooth handover.
Our ApproachWe started by carefully reviewing the source code and supporting tools. Our goal was to confirm that everything needed to continue maintaining and developing the software was handed over properly.
FindingsAt first glance, everything seemed in order — the main code was delivered. But on closer inspection, we discovered that a critical piece was missing: a script used to compile, link, and deploy the software.
Without this script, the process of building the software (with all its complex dependencies) would have been a nightmare. It would have created:
- Delays in any future updates.
- High costs if new developers had to figure out the process from scratch.
The contractor insisted this script was “not part of the software,” but the real intention was clear: they wanted to lock the company into using them for future work.
Analogy: This is like buying a car but being told that the key isn’t included — you technically have the car, but without the key, you can’t drive it unless you keep paying the original dealer.
The RecommendationWe flagged the missing tool and made sure the contractor provided it before the project closed. This ensured the client had full control and independence over their software.
ResultsBy catching this issue in time, the company:
- Avoided unexpected expenses tied to contractor dependency.
- Secured full ownership of the project deliverables.
- Ensured flexibility to work with any future developers.
TakeawayUnfortunately, cases like this are common. Some contractors use unfair tactics to make switching away from them difficult — whether by hiding key scripts, using “black box” third-party libraries, or withholding documentation.
With careful oversight, these traps can be avoided. In this case, our intervention ensured the client’s independence and protected them from unnecessary long-term costs.