For my first two years of freelance work, almost every project ended the same way: three weeks over schedule, a scope nobody could remember agreeing to, and a final invoice I felt awkward sending. The code was fine. The process was not. Fixing the process changed my business more than any framework ever did.

Discovery is billable, and it is the whole project

I no longer write proposals from a brief. I sell a paid discovery phase first: a few structured sessions to establish what the business actually needs, who the users are, which pages exist, what each one must accomplish, and which integrations are non-optional. The deliverable is a short specification with a sitemap, a content inventory, and an explicit list of what is out of scope.

Charging for discovery changes the conversation immediately. Clients arrive prepared, decision-makers attend, and vague ambitions turn into concrete requirements before a single component is built. It also protects both sides: if discovery reveals the real budget cannot deliver the real goal, we find that out in week one rather than week nine, and the client still walks away with a document they own and can take anywhere.

That out-of-scope list is the single most valuable page in the document. Scope creep is rarely malicious; it is the natural result of nobody having written down where the edges are. Once the edges exist on paper, a new request becomes a normal, unemotional change order instead of an argument about what was implied.

Milestones with visible progress

I break every build into milestones that each end in something the client can open in a browser. Design system and homepage. Remaining pages. Integrations and content loading. Performance, accessibility and launch. Each milestone has a payment attached, and none begins before the previous one is signed off in writing.

Reviewable milestones remove the anxiety that drives most difficult client behaviour. A client who can see real progress every fortnight does not need daily check-ins or reassurance, and the invoice at the end of a milestone arrives attached to something they have already approved. Cash flow stops being a monthly negotiation and becomes an outcome of the schedule.

Feedback needs a channel and a deadline. I collect comments in one place, cap revision rounds per milestone, and state that anything arriving after sign-off moves to a change order. That is not rigidity — it is the only way to protect the client’s launch date, and framing it that way is why it almost never causes friction.

Handover is where reputations are made

The last ten per cent of a project decides whether a client refers you. I close every engagement with a handover pack: a short recorded walkthrough of the content management workflow, written documentation of environment variables and deploy steps, an inventory of accounts and where credentials live, and a plain-language list of what should be reviewed quarterly.

I follow the launch with a thirty-day support window that is included rather than upsold. Small issues surface in the first month regardless of how carefully you test, and absorbing them costs me a few hours while buying enormous goodwill. After that window I offer a simple monthly retainer for updates and monitoring, which turns a finished project into predictable recurring revenue instead of a cliff edge.

The pattern underneath all of this is unglamorous: write things down, make progress visible, and put a boundary in place before you need it. Better process did not slow my work down. It gave me shorter projects, calmer clients, invoices paid on time, and a referral pipeline that means I no longer chase work — which is the actual reason most of us went freelance in the first place.

Leave a Reply

Your email address will not be published. Required fields are marked *