Definition of Done

You will never be “done”, and your version of done will vary by feature at different points in a product’s lifecycle. Early prototypes might not have exhaustive tests or pixel perfect styling. Once you start releasing your code to the “public” you need to tighten things up. Here’s what to look for:

  • Designs reviewed and understood by the business and developers (make sure everyone knows what “done” means for the story at that point in time)

  • Unit tests are written and are green (make sure it works)

  • Acceptance tests written for common cases and ran in CI (Selenium, HTTPClient or Appium)

  • Final art/content placed in the product (make it gorgeous)

  • Peer review of the code changes, code adheres to style and security best practices

  • Security automation scan finds no high or medium vulnerabilities

  • The product/feature-set is whole enough to make a usable product

  • Features are manually tested and accepted in the QA environment

If you do all of that and things look good-enough to the business group, ship and repeat!

Essential Working Agreements: Ready and Done blog post