A development ticket can be considered done if all of the following questions can be answered with “Yes”:
- Do you have confidence in your understanding of what the development ticket is asking of you?
- Are you done writing code for the task?
- Have you evaluated possible unexpected interactions of your code changes?
- Will your future self or your co-workers understand the cleverness you used in your solution?
- Have unit tests been written for all business logic?
- Are unit tests passing?
- If feasible, have you written/updated functional tests?
- Are functional tests passing?
- Has the feature or bug fix been functionally tested?
- Does the change meet the acceptance requirements of the business?
- Have you merged/rebased the current
master
branch back into your feature branch? - Have you run all tests after merging/rebasing
master
and do they all pass?
Note that if a development ticket ends up being rejected, then the ticket was not actually done. If this happens, attempt to identify what part of the DoD was incorrectly answered “Yes”.
Assuming all qustions are answered with "Yes" then the development ticket should proceed to "In Review". Be sure to shepherd your in review tickets through to completion.