Work Item Process
Overview
This describes a typical development work process for a scrum team. It is making the following assumptions about the teams.
- They are following the documentation practices covered in work item documentation and pull request documentation processes.
- They are using the convention based review process and review work items.
- They are developing source code iteratively with a scrum team.
- They are using Azure DevOps.
Procedure
- Development team creates a User Story with acceptance criteria, and works with the Product Owner to prioritize the User Story once it has been refined and accepted.
- The team gives the story points as part of longer-term planning activities.
- Once the user story is refined and accepted by the team it is moved into Active status and the team adds tasks for work.
- As work is assigned each task is documented. See work item documentation for more details on writing good task documentation and what is required.
- If the story has no work that requires quality record reviews the tasks are started.
- If the story has only work that can be reviewed using pull request reviews then the tasks are started.
- The team members can associate feature branches with the task to automate the process of task association during pull requests at this time.
- If the story describes work that needs uncommon reviews not covered in the above table, the team creates a "Review" work item for people performing those uncommon review tasks and assigns the review role value on the work items (one per needed uncommon review).
- Software development, verification and validation, and more occur on the work in small and frequent batches.
- Each task is moved to active while being worked on.
- The work of the tasks are completed.
- If the task contains versioned quality records in azure devops repos the author creates a pull request to integrate their changes when the task is complete.
- The author associates their pull request to the one or more tasks it resolves. This indicates that the associated task(s) is/are in review and will not be closed until all PRs are completed.
- As the pull request is written the author documents the pull request. See pull request documentation for more details on writing good pull request documentation and what is required.
- If more than one quality record is contained within the pull request the documentation of the pull request should state this in the description.
- If the test was manual the protocol/steps of the test performed should be documented also in the pull request, in the associated work items or in a document attached as part of the pull request.
- If any tests fail the author can optionally refer to another task or bug which will resolve the test failure in the future.
- The pull request system will apply all automated checks (including builds) and require that at least one reviewer (not the author) sign off on the pull request.
- All reviewers are performing their reviews based on the quality records present in the review.
- If the work being submitted falls under a process step with more required reviewers, the PR author should assign the needed individuals or groups as mandatory reviewers on the pull request.
- Review comments are entered and documented with resolutions on the pull request. The Azure DevOps policies will require that all comments be resolved before the pull request can be closed. Any new work added after signatures are captured but before the pull request is completed will require the reviewers to sign the review again. They are checking the pull request for impacts of recent changes and this is enforced by Azure DevOps policies.
- Each reviewer approves the pull request and when all are approved the author completes the pull request causing the changes to merge. More work can be submitted if changes are needed to close the pull request.
- The author of the pull request closes all associated tasks. Closure of the task indicates that the author has done a holistic analysis that all related pull requests are completed, and all work is passing or documented in other tasks for repair.
- If the story contains associated uncommon "Review" tasks then those reviews are performed.
- The review work items are moved to active status while the review is active.
- The review work items assigned are documented with the review performed in the task and notes to all comments and their resolution.
- Any comments for needed changes from these reviews are documented in either the related pull request on in the review work item task. A related pull request is preferred if available but when the work is only about reviewing another task the complete documentation of the review should be in the review work item and the associated task should be reset to active (or a bug should be written against the task's story) and linked to the review task.
- Once all comments have been resolved the review work items are moved to closed. Closing a review work item indicates signature of that work.
- If all tasks are closed and all associated pull requests are complete the team sets the user story to resolved.
- The product owner--or someone delegated by the Product Owner--will review all resolved user stories and accept the work.
- If the work does not meet the acceptance criteria of the user story the Product owner will move the user story back to active and work with the team to plan additional tasks to meet acceptance criteria.
- If the story meets all of the acceptance criteria it will be closed and the story points will be added to the team's velocity.
- Optionally the product owner can split the user story up and move uncompleted acceptance criteria into additional stories at their discretion.