Skip to main content
ORVENATH
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.