HB-ENG-002|Engagements & Delivery
LAST UPDATED:
Definition of Done
The bar a deliverable must clear before it is invoiced or handed over.
Definition of Done
A milestone is not complete because the code runs on a local machine. It is complete when every item below is true.
Every milestone#
- Deployed to staging and reachable by the client
- Every deliverable named in the proposal is present and functional
- Works on mobile (375px) and desktop
- No console errors in normal use
- Forms validate and show useful error messages
- Loading and empty states exist — no blank screens while data fetches
- Typecheck and lint pass with zero errors
- Client has been shown a demo and has confirmed it matches expectation
Additionally, before final handover#
- Production deployment live on the client's domain
- All secrets in environment variables, none in the repository
- Database indexed on columns actually used in query filters
- Authentication tested including failure paths — wrong password, expired session, unauthorised route access
- Authorisation tested per role: each role can access only what it should
- Payment flows tested including failure and refund paths, where applicable
- Security headers set
- Rate limiting on public write endpoints
- Error monitoring configured and verified by triggering a test error
- Architecture documentation written
- Environment variable guide complete
- Repository transferred to client ownership
- Recorded codebase walkthrough delivered
What "done" explicitly does not require#
- Every feature the client thought of after signing. That is a change order.
- Perfect performance under load the client does not have.
- Features listed in the excluded scope.
The test#
Could the client hire another developer tomorrow and have them pick this up without contacting Orvenath? If not, it is not done.