Process for using JIRA

  1. The REPORTER of a story is responsible for providing criteria for CLOSing a story. For code implementation stories, this includes provision of a test.
  2. Once the story has been evaluatued to be worked, it is moved from the RECEIVED state to the OPEN state.
  3. The ASSIGNEE of a story STARTs WORK on the story.
  4. The ASSIGNEE of a story STARTs REVIEW of the story when the work is completed. 
    1. When putting the ticket into REVIEW, a link to the GitHub pull-request should also be included in the ticket
    2. Note, the ASSIGNEE should STOP WORK on a story if they are temporarily changing focus to a different task.
  5. The REPORTER (and/or the Tech Lead) reviews/tests the finished code. Then either CLOSEs or REOPENs the story depending on the outcome of the review.
  6. Once a story is CLOSED, the Tech Lead (or delegate thereof) merges the code into the codebase.

JIRA Workflow

Example
  1. Jonathan requests the Glacier Mock story. It goes into the RECEIVED state.  It has no assignee. It has no acceptance criteria.
  2. At the sprint planning meeting, we assign acceptance criteria and move the story to the OPEN statue. The story has no assignee to do the work.
  3. If the story goes into the current sprint, it may not have an assignee (Don't assign assignee to stories outside sprints!).
  4. At the next daily scrum, Chris decides to work on this story. He STARTs WORK on the story, and makes himself the assignee.
  5. 3 hours later, Chris is done with the work, makes a pull request, and moves the ticket to IN REVIEW.
  6. Jonathan (the reporter) reviews the pull request (runs tests, etc.). When Jonathan thinks the ticket is complete, he accepts the pull request and moves the ticket to CLOSED.
  7. If the work is subsequently revealed to be incomplete, the Tech Lead REOPENs the story.
Terms
  • BACKLOG
    • Stories that have been accepted are moved to the Backlog.
  • SPRINTS
    • Stories that have been started must be moved to a sprint.  Stories are finished and delivered in sprints.

Process for implementing a fix or feature

  1. Start work on the ticket in JIRA
  2. Create an issue branch in your local git
  3. When you believe the ticket is complete, push the issue branch to github
  4. Send a pull request to master linking the JIRA ticket in the description
  5. Link the JIRA ticket to the pull request or commit
  6. Link the pull request to the JIRA ticket
  7. Move the JIRA ticket to IN REVIEW
  8. The reporter should review the change and, if it appears to be complete (including at minimum Integration and Unit Test coverage) move the ticket into CLOSED.
  9. The reporter should delete the issue branch in github
  10. The PM or Tech Lead should evaluate the demo and Accept/Reject the ticket
  • No labels

1 Comment

  1. This looks good. Our JIRA workflow is essentially identical and mirrors the default JIRA Software Development workflow that now ships by default. It looks like that's what you all are planning to use.

    One gotcha if you're using JIRA Agile for Sprints and plan to assign estimates. Unless this has changed very recently, you can't assign an estimate to a ticket in an active Sprint. So, in your example step below, you may need to consider how to account for this. At UCSD, we have developers take responsibility for tickets during the Sprint Planning meeting, and assign estimates before adding to the Sprint.  

    3. If the story goes into the current sprint, it may not have an assignee (Don't assign assignee to stories outside sprints!)