What Seven Years of Client Work Taught Me About Scoping Projects
Almost every project that went badly went badly for the same reason — and it was never the code. Here is what I do differently now.
I have delivered hundreds of projects. The ones that went wrong were almost never wrong technically. They went wrong because of what was agreed — or more precisely, what was assumed and never written down.
The Real Killer Is the Unwritten Assumption
The client assumed the admin panel included bulk import. You assumed it did not. Neither of you said it out loud, because to both of you it was obvious. That gap surfaces in week six, when there is no budget left to close it.
The fix is unglamorous: write down what is not included. An explicit out-of-scope list has saved me more difficult conversations than any contract clause.
Quote in Deliverables, Not Hours
Hours invite the client to audit your speed. Deliverables invite them to evaluate value. "Booking system with admin panel, email notifications and payment integration — 3 weeks" is a conversation about the product. "120 hours" is a conversation about your hourly rate.
Demo Early, Demo Ugly
Show working software in week one, even if it is unstyled. Clients cannot review a specification — they genuinely cannot picture it. They can absolutely review a screen. Every week you delay the first demo is a week of building on unverified assumptions.
Change Requests Are Normal — Price Them Anyway
Scope changing is not a failure; it means the client is engaged and learning. What is a failure is absorbing every change silently until the project is unprofitable and you resent it. "Yes, that is a great addition — here is what it adds to the timeline and cost" is a completely normal sentence.
The 20% Buffer Is Not Padding
Deployment surprises, a shared-hosting PHP version, an API with undocumented rate limits, the client's two-week silence on content. It happens on every project. If it does not happen this time, you deliver early and look excellent.
Hand Over Properly
A short screen recording of the admin panel, a one-page deployment note and a plain-English list of credentials. It takes an hour and it is the single thing clients mention most when they refer me to someone else.
The Thing Nobody Tells You
Clients rarely remember whether you were the fastest. They remember whether you communicated. A short update on a week when nothing shipped is worth more than a perfect delivery from someone who went dark for ten days.