01
A vendor can absorb three changes and still hit a date. Thirty is a different project, arriving one request at a time. The fix is unglamorous: one person on your side who can say no, and a written change log that both sides can point at.
02
You knew the invoicing rule and nobody asked. They assumed the obvious thing and nobody checked. Both sides could have written it down in an afternoon, which is why this one is shared and why it is the most common.
03
If the engagement never had a number attached, no amount of delivery closes the question. Agreeing one metric before the build starts is the vendor's job, because they are the ones who know which numbers are actually measurable.
04
Knowledge concentrated in one head is a staffing decision, not bad luck. Two people who can each explain the system, and documentation that survives them both, is a deliverable — ask for it in the proposal rather than at handover.
05
The hardest failure to blame on engineering. If the users were not consulted before the build, the build cannot fix it — and no partner can run that conversation for you, though a good one will tell you it is missing.
06
Tenant isolation, scoped access, an audit trail, and a written answer on where customer data goes are architecture, not paperwork. Retrofitting them costs multiples of building them, and the deadline is set by your first enterprise customer, not by you.
07
Usually two things at once: an estimate made against a scope nobody had finished, and a buyer who preferred the lower number. The defence is a small paid piece of scoping work before the big commitment, priced so that being wrong is cheap.
08
Code that only its authors can run is not finished, whatever it does in production. If a proposal has no handover artifacts in it, the handover is not planned, and the retainer that follows is not a service — it is a dependency.