Definition

definition of done

Part of the Software development glossary:

A definition of done is a checklist of criteria that a product, product increment or project must satisfy to be considered completed. 

The term is used in agile software development and agile project management.  The team collaboratively develops and agrees to all the stipulations of the definition.

The need for such a list arose as a way to ensure that all involved parties clearly understand what is meant when someone says something is “done.”  A programmer, for example, might say software was done once he had finished writing the code. On the other hand, a product owner might not consider the software done until it had been thoroughly tested and was essentially ready for release. The definition of done is intended to be stringent enough to satisfy any stakeholder.

Here’s a sample definition of done:

  1. The build is in a release-ready state and available for download.
  2. Documentation is complete.
  3. Any unimplemented or inactive features are hidden from the user.
  4. Testing is complete.
  5. The source code is committed on the server.
  6. Code has been reviewed.
  7. Demo or manual has been reviewed and presented to the product owner.
  8. The product owner has given approval.

A definition of done might be posted in a visible area in the team’s shared workspace, on what is called a Big Visible Chart (BVC) or an information radiator.

This was last updated in October 2013
Contributor(s): Ivy Wigmore
Posted by: Margaret Rouse

Related Terms

Definitions

  • scrum master

    - A scrum master is the facilitator for a product development team that uses scrum, a rugby analogy for a development methodology that allows a team to self-organize and make changes quickly. (WhatIs.com)

  • AWS Elastic Beanstalk

    - AWS Elastic Beanstalk is a cloud deployment and provisioning service that automates the process of getting applications set up on the Amazon Web Services (AWS) infrastructure. (searchAWS.com)

  • RESTful API

    - A RESTful application programming interface (API) is a method of allowing communication between a Web-based client and server that employs representational state transfer (REST) constraints. (SearchCloudStorage.com)

Glossaries

  • Software development

    - Terms related to software development, including definitions about programming and words and phrases about Scrum, Agile and waterfall methodologies.

  • Internet applications

    - This WhatIs.com glossary contains terms related to Internet applications, including definitions about Software as a Service (SaaS) delivery models and words and phrases about web sites, e-commerce ...

Ask a Question. Find an Answer.Powered by ITKnowledgeExchange.com

Ask An IT Question

Get answers from your peers on your most technical challenges

Ask Question

Tech TalkComment

Share
Comments

    Results

    Contribute to the conversation

    All fields are required. Comments will appear at the bottom of the article.