Definition of Done in Agile

Instructor: Pedro Acevedo
In agile software development, developers use the definition of done to determine when a project is truly complete. Learn how you can come up with a definition of done that is appropriate for your team and customers.

Definition of Done

How often have you heard someone say that something is done, but when you look more closely, it really isn't done? Maybe a child says he is done cleaning his room, but there are still a few socks under the bed. Or a student says she is done with her science project, but she still needs to put together the binder that contains all the information on the experiment. Or someone says they are done packing for a trip, but forgot their passport.

In each of those cases, the person wasn't really done with what they were doing. They were almost done. In agile software development, developers often use something called the definition of done (DoD) to determine when they are really finished with a piece of software.

Agile software development is a way of developing software that focuses on producing small pieces of functionality at a quick pace and with frequent customer feedback. This is different from traditional development methods that could leave a team spending months working on a big application, only to learn that what they built wasn't really what the customer wanted.

This lesson will explain why a definition of done is important and provide a model you can follow to prepare your own DoD. Keep in mind that a team's DoD will be unique to that team's circumstances and type of work. This lesson presents an example, not strict instructions that every team must follow to the letter.

Crafting a Definition of Done

To help understand what a definition of done is, imagine that you are part of a development team that is hired by a large music studio. The studio manager wants your team to develop a web application that will help the studio track which songs and artists are selling the best. The first requirement he gives you reads as follows:

  • The application's search page must provide text fields that allow users to search for an artist using the artist's first and last name.

This looks simple enough, so your team quickly goes to work. Two weeks later, you come back and proudly show the studio manager a search page with a text field where the user can enter the name of the singer they want to search for. Uh-oh, wait. The manager asked for fields for the first and last name, but you only provided one field.

The end product doesn't meet the manager's expectations, so he rejects the search page, and you have to go back and fix it. This oversight led to wasted time by both parties and wasted money for the music studio. To avoid repeating this mistake, your team tapes a sheet of paper to the whiteboard where everyone can see it. The paper says, 'Make sure you do everything the requirement says.'

After you present a search page with the correct number of text fields, the manager gives your team his next requirement:

  • The application must be usable on both large computer screens and small mobile device screens.

Your team goes to work again, making sure to do everything the requirement says, and after two more weeks, you proudly show the manager how good the application looks on both his desktop computer and his mobile phone. But when he asks an employee nearby to look at the application on her own computer, you see that things aren't aligned properly and some fonts don't look right. Then you notice that the employee is using a different internet browser than the manager. Another miss by your team: you forgot to test the web application on different browsers. Technically, you did fulfill the manager's requirement to the letter, but he doesn't know a lot about web development (that's why he hired you), so your team cannot depend on having every technical detail spelled out in the requirements. When you return to the office, the team writes another reminder on the same sheet of paper as before: 'Test on all major browsers.'

After you fix the web application to work on all major browsers, the manager gives your team another requirement:

  • The application's main page must display the studio logo.

To unlock this lesson you must be a Member.
Create your account

Register to view this lesson

Are you a student or a teacher?

Unlock Your Education

See for yourself why 30 million people use

Become a member and start learning now.
Become a Member  Back
What teachers are saying about
Try it risk-free for 30 days

Earning College Credit

Did you know… We have over 200 college courses that prepare you to earn credit by exam that is accepted by over 1,500 colleges and universities. You can test out of the first two years of college and save thousands off your degree. Anyone can earn credit-by-exam regardless of age or education level.

To learn more, visit our Earning Credit Page

Transferring credit to the school of your choice

Not sure what college you want to attend yet? has thousands of articles about every imaginable degree, area of study and career path that can help you find the school that's right for you.

Create an account to start this course today
Try it risk-free for 30 days!
Create an account