Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Table of Contents

Issue Types

Additions

Issue TypeReporterTracksDeliverable(s)
Wish / New Feature
  • Management
  • Developer
  • Proposing new business logic
  • New JIRA Tickets

Requirements

  • Management
  • Developer
  • Discussion of new features at a technical level
  • New JIRA Tickets
Epic
  • Developer
  • Progress toward completing a high-level feature
  • NewUse Cases
Story
  • Developer
  • Introducing new Use Cases into the product
  • Progress toward the associated Epic
  • Pull Request(s)
  • New Image(s) / Tag(s)
  • Documentation
  • New Test Case(s)

Alterations

Issue TypeReporterTracksDeliverable(s)
Improvement
  • Developer
  • External Contributor
  • Introducing new technologies or techniques into the platform
  • Increases in performance, usability, or maintainability 
    • Without adding or changing Use Cases
  • Pull Request(s)
  • New Image(s) / Tag(s)
  • Updated documentation
  • Updated / new Test Case(s)

Bug

  • Developer
  • External Contributor
  • Divergences between expected Use Cases and product behavior
  • Pull Request(s)
  • New Image(s) / Tag(s)
  • Updated documentation
  • Updated / new Test Case(s)

Accounting

Issue TypeReporterTracksDeliverable(s)
Comment
  • Management
  • Developer
  • External Contributor
  1. new sites / groups wishing to utilize the NDS Labs platform
  2. similar technologies that we might look at for reference
  3. new or existing technologies that might be leveraged
  4. feedback-driven tasks
  • New JIRA Tickets
  • Documentation

Processing Request

  • Management
  • Developer
  • External Contributor
  1. projects (via Account Creation Workflow)
  2. service specs (via Pull Requests made to ndslabs-specs)
  3. process-driven tasks
  • New JIRA Tickets
  • Documentation
  • Modifications to etcd
Task
  • Management
  • Developer
  1. events requiring special attention
  2. externally-driven tasks
  • New JIRA Tickets
  • Documentation
Sub-Task
  • Management
  • Developer
  • Progress towards the associated Task ticket
  • a small piece of technical work
    • not driven by a new use case
  • Documentation
Technical Task
  • Management
  • Developer
  • Progress towards the associated Task ticket
  • a small piece of outreach or non-technical work / discussion
    • not driven by a new use case
  • Documentation

Workflows

Addition Workflows

...

  • GitHub: Pull Request(s)
  • DockerHub: New Image(s) / Tag(s)
  • Confluence: Documentation describing the technical aspects of how the platform fulfills the Use Case
  • ???Zephyr: Test Case(s) demonstrating the use case fulfilled by the story
    • TODO: discover software for writing test plans

...

  • GitHub: Pull Request(s)
  • DockerHub: New Image(s) / Tag(s)
  • Confluence: Updated technical documentation that reflects any modifications to the platform
  • ???Zephyr: Test Case(s) exercising the benefit introduced by this improvement
    • TODO: discover software for writing test plans

...

  1. Ticket Status: Start Progress
  2. Developer creates a new branch with a small prototype instance containing suggested improvement(s)
  3. 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
    1. If not desirable, the developer abandons the branch(es) containing these changes and marks the ticket as CLOSED
    2. If desirable, the developer completes the modifications on the branch
  4. Once complete, developer gathers the necessary deliverables:
    1. Confluence: Create documentation and/or take note of technical details
    1. GitHub: Create Pull Request(s)
    2. DockerHub: Create and push a test image tagged with the name of the corresponding git branch
    3. ???Zephyr: Create new / update existing test cases relating to the modifications
  5. Ticket Status: Review Ticket and assign to Tester
  6. Tester reviews / tests any deliverables
    • Confluence: Review any relevant documentation or technical details
    • GitHub: Review related Pull Request(s)
    • DockerHub: Pull and run test image(s) against test cases
    • ???Zephyr: Run any new / updated test cases relating to the modifications
  7. Tester merges any Pull Requests (if applicable)
  8. Ticket Status: Resolve Ticket and assign back to Developer
  9. Developer releases other deliverables themselves
    1. Confluence: Developer migrates any relevant documentation from Personal Space to "National Data Service" public space (if applicable)
    2. GitHub: Developer syncs with upstream changes (if applicable)
      1. git checkout master
      2. git pull upstream master
      3. git push origin master
    3. DockerHub: Developer builds and pushes new "latest" stable Docker images
    4. GitHub: Developer commits and pushes new build date upstream (if applicable)
  10. Ticket Status: Close Ticket

...

  • GitHub: Pull Request(s)
  • DockerHub: New Image(s) / Tag(s)
  • Confluence: Updated technical documentation that reflects any modifications to the platform
  • ???Zephyr: Updated / new Test Case(s) reflecting the expected behavior of the product
    • TODO: discover software for writing test plans

...

  1. Ticket Status: Start Progress
    1. aside: consider creating a new status for "Verification" stage of Bug tickets?
  2. Developer reviews affected Use Case(s) and verifies behavioral divergence
    1. Developer examines validity and may suggest modifications to the Use Case
    2. Developer determines where the bug stems from in the source
    3. Developer devises one or more ways to address the bug in question
    4. Developer selects the "best" option according to their judgement given the circumstances
  3. Developer fixes product behavior to match expected Use Case
  4. Once complete, developer gathers any necessary deliverables:
    1. Confluence: Create documentation and/or take note of technical details
    2. GitHub: Create Pull Request(s)
    3. DockerHub: Create and push a test image tagged with the name of the corresponding git branch
    4. ???Zephyr: Create new / update existing test cases relating to the modifications
  5. Ticket Status: Review Ticket and assign to Tester
  6. Tester reviews / tests any deliverables
    1. Confluence: Review any relevant documentation or technical details
    1. GitHub: Review related Pull Request(s)
    2. DockerHub: Pull and run test image(s) against test cases
    3. ???Zephyr: Run any new / updated test cases relating to the modifications
  7. Tester merges any Pull Requests (if applicable)
  8. Ticket Status: Resolve Ticket and assign back to Developer
  9. Developer releases other deliverables themselves
    1. Confluence: Developer migrates any relevant documentation from Personal Space to "National Data Service" public space (if applicable)
    2. GitHub: Developer first syncs with upstream changes (if applicable)
      1. git checkout master
      2. git pull upstream master
      3. git push origin master
    3. DockerHub: Developer builds and pushes new "latest" stable Docker images
    4. GitHub: Developer commits and pushes new build date upstream (if applicable)
  10. Ticket Status: Close Ticket

...