Web Development

The Definition of Done

March 9, 2017

In development, we often split tasks up into smaller pieces and distribute them among multiple developers. We need to eventually bring this work back together, and this is easier when everyone agrees on what “done” means.

The definition of “done” is important in Scrum for calculating velocity – “a measure of the amount of work a team can tackle during a single sprint.” Agreeing on what “done” means helps ensure clear communication. Additional benefits of agreeing on a definition, as outlined in Agile Alliance’s Definition of Done, include:

  1. “[Creating] a checklist which usefully guides pre-implementation activities: discussion, estimation, design.”
  2. “[Limiting] the cost of rework once a feature has been accepted as done.”
  3. “[Having] an explicit contract limits the risk of misunderstanding and conflict between the development team and the customer or product owner.”

For example, it’s happened that someone has told me they were “done” with something, only for me to look at their work and find 5 more things they still needed to do.

Here’s what “done” means to me:

  • Done means that you are not planning on doing any additional work on the task. Everything that you wanted to do or were planning to do has been completed, including formatting, cleanup, refactoring, etc. This also includes updating any associated documentation, user manuals, or change logs, checking code in and pushing to an origin repository, getting code reviews, and ensuring that builds are passing.
  • Done means that all aspects of the initial request have been addressed and all acceptance criteria have been met.
  • Done means that all changes have been carried through to their logical conclusion. Consider the consequences of your changes and whether those consequences necessitate any additional changes. If an image asset has been removed from a page, for example, and is not used on any other pages, it should also be removed from the source code repository. If the only call to a function is removed then the function itself should also be removed.
  • Done means that everything you have created or changed has been tested. This may involve creating automated or unit tests, or having others test the change as well. If it hasn’t been tested you don’t know whether it works.
  • Done means ready to share with the world. For code this means deployable. In all cases it means we would be proud to put our name on it and show it to others.
  • Done includes communicating the completion of the work be that in person, via a task management system, or other means as determined by the project.


What does “done” mean to your team? We recommend agreeing upon a definition in the interest of creating accurate estimates of how long the project will take to complete.

You might also like...



9 Steps for Moving Sites Between Servers

Technical needs change over time. To have a better optimized website, this may mean migrating your website to a different server. Perhaps you’ve found a server more conducive to efficiency and performance, and you need guidance about how to switch. While it may seem like more hassle than it’s worth, moving your site isn’t as … Continued



Dev Terminology 101: Common Programming Languages (and their key frameworks)

Language enables human communication – spoken or written – with words and phrases structured in a conventional way. Just like we need different languages to communicate with one another, we also need different languages to communicate with computers. In an article on Stack Overflow, Matt Sherman writes that at a foundational level, all programming languages … Continued



Announcing Fresh Consulting’s WCAG 2.0 PHPCS Linter

Today, Fresh Consulting is announcing the release of our WCAG 2.0 PHPCS Linter. The linter is a set of rules (or sniffs) for PHP Code Sniffer which can automatically detect and alert when certain WCAG 2.0 violations are detected in code. WCAG 2.0 supports designers and developers in meeting the guidelines and success criteria of accessibility. The … Continued

Pacific Science Center

application maintenance and development

Pacific Science Center


mobile development



web design, microsite development


Seattle Public Library

ui/ux design, microsite development

Seattle Public Library