Map the process before you quote it
An estimate produced before anyone has watched the work happen is a guess with a budget attached.
Read the piece →Every build we finish ships with a handover pack, and there is one test it has to pass: an engineer who has never seen the project should be able to run it, deploy it and fix the common failures without speaking to us. Here is what that takes.

Lock-in is rarely a decision anybody makes. It is what happens by default when the only complete description of a system lives in the heads of the people who built it. You do not notice until you want to change supplier, or hire in-house, or simply understand what you are paying to maintain.
The handover pack is the deliberate opposite of that, and we treat it as part of the build rather than as paperwork at the end. It has one acceptance test, and it is unforgiving: give it to an engineer who was not on the project and see whether they can operate the system without a meeting.
A handover pack that only makes sense to the person who wrote it is not a handover pack. It is a diary.
Documentation written in the last week of a project is written by tired people from memory, and it shows. Written as the work happens, it costs almost nothing extra because the details are still in front of whoever is doing the work — and it has a second benefit: writing down why a decision was taken tends to expose the decisions that were not really taken at all.
Before a project closes, someone from our team who did not work on it takes the pack and sets the system up from scratch. Every question they have to ask is a gap, and every gap gets written in before the pack is handed over. It is a couple of hours of somebody senior, and it is the only way to know the document works, because the authors cannot see their own assumptions.
It means you can leave. If you want to take the system in-house, or move it to another supplier, everything needed to do that is already in your hands and you do not have to ask us for it or pay for a transition project.
That sounds like a strange thing for a supplier to build deliberately. In practice, clients who know they can leave tend to stay, because the relationship continues on whether the work is good rather than on whether leaving is painful. We would rather compete on the first thing.
Inheriting undocumented software is common, and it is fixable. We reverse-engineer the pack from the running system and the code: architecture, runbooks, secrets, deployment. It is bounded work, usually a couple of weeks, and it typically also surfaces two or three risks nobody knew were there — an expired certificate, a credential in source control, a backup that has not run since spring.
If you have inherited a system with no documentation and need this produced retrospectively, we do that as a standalone engagement, including for software somebody else built.
An estimate produced before anyone has watched the work happen is a guess with a budget attached.
Read the piece →Three situations where we tell clients to fix the process first and quote for less work.
In reviewBefore you sign with anyone, ask them to describe their handover pack. The quality of the answer tells you what kind of relationship you are entering.