...
Reporter:
- Management
- Developer
Used to track:
- Introducing new business logic or new uses for existing logic into the product
When a Wish or New Feature ticket is in the Active Sprint:
...
Requirements Workflow
Reporter:
- Developer
Used to track:
- Discussion and creation of new Story / Epic tickets describing new product features at a technical level
When a Requirement ticket is in the Active Sprint:
...
Story Workflow
Reporter:
- Developer
Used to track:
- Introducing new Use Cases into the product
- Progress toward a particular Epic (i.e. a new technical feature consisting of multiple Use Cases)
When a Story ticket is in the Active Sprint:
- The ticket is marked
IN PROGRESS
and assigned to a developer (referred to hereafter as "the developer") - The developer does the work necessary to enable the use case described in the ticket
- Follow the general development workflows defined above
- Comment on the Story with links / updates to any deliverables that need to be reviewed / tested:
- Pull Requests
- Docker Images
- Documentation
- The ticket is marked
IN REVIEW
and assigned to a tester (referred to hereafter as "the tester") - The tester reviews the deliverables of the Story:
- Review any related Pull Requests
- Review any Test Cases / Documentation provided
- Review any new tickets resulting from the work done
- Pull and run any new Docker images against the Test Cases provided
- The tester needs to Accept, Reject, or Abort the review based on the results
- If the ticket does not contain sufficient information to decide whether or not the deliverables are acceptable, then the tester selects
Review Aborted
- The ticket is marked as
OPEN
and work is stopped on the ticket - The developer adds more detail to the ticket, for example:
- Test Case
- Passing Conditions
- The developer then returns to #2 above and refines their deliverables
- The ticket is marked as
- If the the deliverables are missing, incomplete, or in an untestable state, then the tester selects
Review Rejected
The ticket is marked as
IN PROGRESS
and should then be assigned back to the developer- The developer then returns to #2 above and refines their deliverables
- If the deliverables are tested and in an acceptable form, then the tester selects
Review Accepted
- The ticket is marked as
RESOLVED
- The tester continues the workflow below
- The ticket is marked as
- If the ticket does not contain sufficient information to decide whether or not the deliverables are acceptable, then the tester selects
- The tester merges any outstanding Pull Requests related to this ticket
- The developer switches back to their master branch and syncs with the new changes
- If applicable, the developer builds and pushes a new "latest" Docker image for the API / UI incorporating the new changes
- The developer selects
CLOSE TICKET
and the ticket is marked asCLOSED
Deliverables:
- GitHub: Pull Request(s) to GitHub
- DockerHub: New Image(s) / Tag(s) in Docker Hub
- Confluence: Documentation describing the technical aspects of how hte platform fulfills the Use Case
- ???: Test Test Case(s) demonstrating the use case fulfilled by the story
- TODO: discover software for writing test plans
Alteration Workflows
Issue Types Used:
Improvement: a suggestion to utilize new techniques or technologies to improve overall performance or maintainability of the platformthat might have a positive impact on the product without introducing new features (i.e. refactoring, rewriting, etc.)
Bug: a previously completed use case or edge case that is malfunctioning according to its defined behavior
...
Improvement tickets follow a workflow that resembles that of a Story ticket.
Reporter:
- Developer
- External Contributor (via GitHub "enhancement" issue)
Used to track:
- Introducing new technologies or techniques into the underlying platform
- Increases in performance, usability, or maintainability without adding or changing Use Cases
When an Improvement ticket is in the Active Sprint:
- Ticket Status: Start Progress
- Developer creates a small prototype instance containing suggested improvement(s)
- Developer weighs the pros / cons of this solution over the current one against the time it would take to fully implement and test the change
- If not desirable, the developer abandons the branch(es) containing these changes and marks the ticket as CLOSED
- If desirable, the developer completes the modifications
- Developer creates any necessary deliverables
- Ticket Status: Review
- Tester reviews / tests deliverables
- Merge any deliverables (if applicable)
- GitHub: Merge related Pull Requests (if applicable)
- Confluence: Migrate any documentation from Personal Space to "National Data Service" public space (if applicable)
- DockerHub: Release new "latest" stable Docker images of UI / API (if applicable)
- Ticket Status: Resolve / Close Ticket
Deliverables:
- GitHub: Pull Request(s)
- DockerHub: New Image(s) / Tag(s)
- Confluence: Updated technical documentation that reflects any modifications to the platform
- ???: Test Case(s) demonstrating the use case fulfilled by the story
- TODO: discover software for writing test plans
Bug Workflow
Reporter:
- Developer
- External Contributor (via GitHub "bug" issue)
Used to track:
- Divergences between expected Use Cases and product behavior
When a Bug ticket is in the Active Sprint:
- Ticket Status: Start Progress
- consider creating a new status for "Verification" stage of Bug tickets?
- Developer reviews affected Use Case(s) and verifies behavioral divergence
- developer fixes product behavior to match expected Use Case
- (Rarely) modify Use Case to match behavior
- Developer creates any necessary deliverables
- Ticket Status: Review
- Tester reviews / tests deliverables
- Merge any deliverables (if applicable)
- GitHub: Merge related Pull Requests (if applicable)
- Confluence: Migrate any documentation from Personal Space to "National Data Service" public space (if applicable)
- DockerHub: Release new "latest" stable Docker images of UI / API (if applicable)
- Ticket Status: Resolve / Close Ticket
Deliverables:
- GitHub: Pull Request(s)
- DockerHub: New Image(s) / Tag(s)
- Confluence: Updated technical documentation that reflects any modifications to the platform
- ???: Test Case(s) demonstrating the use case fulfilled by the story
- TODO: discover software for writing test plans
Accounting Workflows
Issue Types Used:
...
Comment Workflow
Reporter:
- Management
- Developer
- External Contributor
Used to Track:
...
Request Workflow
Reporter:
- Management
- Developer
- External Contributor
Used To Track:
...
Task Workflow
Reporter:
- Management
- Developer
Used to Track:
- events requiring special attention (i.e. hackathon, developer tutorial, etc.)
- any other externally-driven tasks that require explicit work to be done
...