My team’s Definition of Done

Our “Definition of Done” should have been written up long ago. While my team may act as the model “Agile” team in our company, we certainly have a long way to go.

The following is our first good draft of our “Definition of Done,” and a lot of it is about how we use Team Foundation Server (TFS), rather than productive activities that go along with the steps.

Without further ado, I present for your edification or amusement, one team’s

Definition of Done

Requirement

  • Proposed (set to Active)
    • The Requirements Review Checklist has been answered.
    • The Area Path, Iteration Path, and Release Version are accurate.
    • The Requirement has been committed to a sprint.
    • The CCB CR Number and Size are populated.
    • Not Blocked (Blocked set to “No”)
    • At least one child Task has been created.
  • Active (set to Resolved)
    • The requirement has been met.
    • All child Tasks and Bugs are Resolved or Closed.
  • Resolved (set to Closed)
    • Verified that the bug requirement has been met.
    • Test Scripts/Test Plan has been updated if applicable.
    • Wiki documentation has been updated if applicable.
    • Feature documentation has been updated.

Bug

  • Active (set to Resolved)
    • All child Tasks are Resolved or Closed.
    • View the parent Requirement to determine if this is the last child to be resolved (in order to then resolve the parent).
    • The Root Cause is set to the appropriate value (not “Unknown”).
    • The Reason is set to the appropriate value (“Fixed” unless Path 3 below).
    • The Area Path, Iteration Path, and Release Version are accurate.
    • The Bug has been addressed:
      • Path 1: Bug has been fixed in the data or environment and no longer occurs.
      • Path 2: Bug has been fixed in the code and will not occur after a new build (nightly).
      • Path 3: Bug cannot be reproduced, needs more detail, or reports as-designed functionality.
  • Resolved (set to Closed)
    • Verified that the bug has been addressed.
    • Test Scripts/Test Plan has been updated if applicable.

Task

  • Proposed (set to Active)
    • Remaining Work has been set according to the Size of the parent requirement and/or the developer’s estimate.
  • Active (set to Resolved)
    • Task is accomplished.
    • Remaining Work is 0 and Completed Work accurately represents the hours spent on the Task.
    • The Area Path, Iteration Path, and Release Version are accurate.
    • View the parent Bug or Requirement to determine if this is the last child to be resolved (in order to then resolve the parent).
  • Resolved (set to Closed)
    • Unit Tests are updated.
    • Code Review is completed.

Sprint

  • Sprint Retrospective
  • Team Sprint Review
  • Internal Sprint Review (cross-team functionality)
  • “Sprint Review and Approvals” form drafted.
  • Customer Sprint Review and “Sprint Review and Approvals” form signed.
  • The Release Version of all completed CRs populated.
  • Release Notes draft updated.
  • The Coded UI Tests (CUIT) pass.

Release

  • Regression Testing complete.
  • All Change Requests in the release are Closed (in cooperation with the Change Management team).
  • All Requirements and Bugs in the release are Closed.
  • All documentation included in the release package submitted (Change Management Team checklist).
  • Informational meeting and notes provided to the Help Desk, Documentation Team, and Trainers.
My team’s Definition of Done

3 thoughts on “My team’s Definition of Done

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s