- slide 1 of 3
When Does Done Mean Done?
When looking at sprints and their results, Agile experts will tell you that done does mean done if:
- It’s tested and passed user acceptance or client approval
- It has passed an in-house sprint review
- It is “shippable" or “deliverable"
While these three definitions of done should work after an iteration is completed via the agile user story, what about the entire process of an agile project? Smaller elements are easier to review, test, fix, and pass on, but when it comes to the entire project, what is the agile definition of done?
- slide 2 of 3
An Example of Done
In my article Defining Agile Principle #7, and through the reviewing agile experts definition of done, an iteration really must be done if you utilize principle #7. So, how does this really work?
Say your project is to build a horse stable. Using the Agile Methodology means analyzing and determining every element that will need to be completed for the entire project to be done, even if different teams are assigned to complete various or parallel iterations.
Your initial project meeting should include everyone; meaning all stakeholders, teams, the client, and even eventual users of the horse stable. The project is next clearly outlined by how large the stable needs to be, the design, any mechanical or electrical components needed, size of each horse stall, caretaker rooms, equipment rooms, and other pertinent items needed to build the stable to desired and accurate specifications.
If sprint team one runs with the size of the stable. Through agile user stories, this sprint team should be able to determine dimensions based on the initial design to ensure the stable is large enough to hold all the required components. Before this stage is considered done, a iteration review is performed and if part of the iteration is weak or won’t hold all the elements of the stable, by using Agile Management, the sprint team can quickly define why the sprint is not done through learned reviews. They are then able to correct it, and pass to the design team. The agile definition of done does not mean, “in development" or “suggested," it means the team who deciphered the size of the stable was thorough and determined the correct size needed for the stable before it was passed to the next team and so on.
- slide 3 of 3
Every Iteration Must Be Completely Done
If the agile process means iteration, review, fix, acceptance and pass when complete, then agile projects have met the agile definition of done. Often agile projects can fail due to team weaknesses, not performing necessary reviews and fixes before passing to the next team, and failure to follow and thoroughly understand Agile Principle #7.
An agile project may not be done if there is no team communication or quality management processes in place. Managers who blend agile and waterfall may also fail as waterfall is a quick-paced project management process that does not allow for much review before passing to the next team.
To ensure your agile projects are correct, train your teams, stakeholders, and users on the Agile Management Methodology before you begin a project. Consider using a blend of other project management methodologies within your agile project.
In our case of a horse stable, the agile definition of done means horses and staff are moving in and the stable is up and running at project end. If your users or clients can’t utilize your agile deliverables at project completion, not only does that mean you’re not done, you haven’t followed the Agile Methodology correctly.
Please be sure to check out the other items in Bright Hub's collection of Agile project management guides and discussions.