Skip to content

Latest commit

 

History

History
185 lines (134 loc) · 10.4 KB

AddingIssuesToEpics.md

File metadata and controls

185 lines (134 loc) · 10.4 KB

Where do Epics come from?

In the Common Fund Data Ecosystem project management system, Epics are used to collect related issues for easy management of large cross-team initiatives. You can find general information about Epics, Zenhub, and how they work for Agile project management at this link

Currently:

  • All Deliverables are Epics
  • All large work processes are Epics (preferably, these Epics will be sub-Epics of a Deliverable and not just a free-standing project, but this is not always true)

Within the Coordinating Center:

  • Work processes that are NOT Deliverables, but are Epics will be designated by the Roadmap Committee. A designee will create the initial Epic for a new metatask in Zenhub.
  • Issues with specific tasks will be made by team leads, PMs, or others on the teams actually doing the work.
  • All issues that contribute to a given metatask should be connected to that Epic.

The Coordination Center recommends that all funded DCCs use a similar system for tracking all work in Github, however we only require that you track your Deliverables.

How to add issues to a Zenhub Epic

Strategy 1 Make the issues in Github, using the Zenhub plugin

If you use either Firefox or Chrome, you can install a Zenhub plugin that greatly streamlines the process of adding Epics and managing Zenhub. You can download the browser extension at this link. This is the easiest way to add new Epics.

  1. Install the browser extension
  2. In Github, create new issues in the appropriate repos
  3. Navigate to https://github.com/nih.cfde
  4. Click on the name of a repo
  5. Click Issues at the top of the page
  6. Click New issue on the top right
    1. If you are submitting a new deliverable, you will be prompted to use a template
    2. Click Get started next to the 'NewDeliverable' template
  7. Give your issue an informative title
  8. Fill in the comment box with specs, requirements, and other relevant info
  9. Assign someone to do the work using the Assignees on the top right
  10. Choose any appropriate labels
  11. Click Create an Epic
    1. If you already have some issues in your repo that should be part of this Epic, select them in the right hand panel.
    2. Otherwise, click Create Epic in the bottom of the left column

Strategy 2 Make the issues in Zenhub

  1. Navigate to the CFDE Roadmap Board Issues View
  2. Click New issue on the top right
  3. Choose the repo where you want the issue to appear in the "Create In" dropdown
  4. Give your issue an informative title
  5. Fill in the comment box with specs, requirements, and other relevant info
  6. Assign someone to do the work using the Assignees on the top right
  7. Choose any appropriate labels in the right side panel
  8. Under "Estimate" in the right side panel, assign the task a relative difficulty (low is easy, high is hard, it's entirely subjective, don't put a ton of thought into it)
  9. Under "Epic" in the right side panel, choose the Epic to assign the issue to. You can search by name using the search box that pops up
  10. Click Submit new issue

Strategy 3 Make the issues first, in bulk, in Github

  1. In Github, create new issues in the appropriate repos
    1. Navigate to https://github.com/nih.cfde
    2. Click on the name of a repo
    3. Click Issues at the top of the page
    4. Click New issue on the top right
    5. Give your issue an informative title
    6. Fill in the comment box with specs, requirements, and other relevant info
    7. Assign someone to do the work using the Assignees on the top right
    8. Choose any appropriate labels
    9. Click Submit new issue
  2. In Zenhub assign those issues to the Epic
    1. Navigate to CFDE Roadmap Board Epic View
    2. Click on the name of the correct Epic in the kanban
    3. Scroll approximately 1/4 down the page and click Modify this Epic
    4. At the center top of the page, choose a repo you made issues in
    5. Select the issues to attach to this Epic by checking the box next to them
    6. Change the repo selection and continue selecting issues until you have all of your new issues in the collection on the left side of the screen
    7. Click Update Epic on the lower left
    8. For each issue now listed in the Epic, click on the title and assign it an "Estimate" in the lower right hand panel. Low is easy, high is hard, it's entirely subjective, don't put a ton of thought into it.

Making issues more useful

Adding dependencies

Dependencies are for tasks that need to be completed in a specific order, OR for tasks that are reliant on some other work or event. For instance, some of our work is dependent on DCC funding or might be delayed due to the pandemic, in which case you would want to assign them dependencies from the Risks repo.

If an entire Epic has a dependency, or is a dependency for another task, you can assign the entire Epic by:

  1. Navigate to CFDE Roadmap Board Epic View
  2. Click on the name of the correct Epic in the kanban
  3. Click + add dependency just below the title text
  4. The moment you choose the other task it makes the link, be sure you correctly set the dependency direction first:
    1. If this Epic should depend on the one you choose, set the dropdown box to say "Blocked By"
    2. If this Epic is a dependancy of the one you choose, set the dropdown box to say "Blocking"
  5. In the search bar, find the issue or Epic that should be dependent on/a dependecy of this one

You can also assign dependencies by issue. To do that:

  1. Navigate to an issue
  2. Click + add dependency just below the title text
  3. The moment you choose the other task it makes the link, be sure you correctly set the dependency direction first:
    1. If this issue should depend on the one you choose, set the dropdown box to say "Blocked By"
    2. If this issue is a dependancy of the one you choose, set the dropdown box to say "Blocking"
  4. In the search bar, find the issue or Epic that should be dependent on/a dependecy of this one

Setting "Estimates"

The only way to get some of the higher level reporting (that we need for NIH) to work is if the issues have Estimates. Estimates are supposed to be a rough gauge of how difficult and/or time consuming a task will be. The numbers are the Fibonacci Sequence, so the highest number is much, much higher than the second to last, and it is meant to have a large range that is not necessarily internally consistent across repos or projects. Low is easy, high is hard, it's entirely subjective, and meant to be a sort of gut reaction measure. They can be changed at any time, but every issue should have an estimate before its completed, or it won't show up in any effort reporting.

Nested Epics

Epics can be nested, and for large Epics from the Roadmap Committee, it might be easier for individual working groups to make smaller Epics for sub sections of the work. To make a nested Epic:

  1. Navigate to CFDE Roadmap Board Epic View
  2. Click on Create in the left panel
  3. Choose "Epic"
  4. Choose the repo where you want the Epic to appear in the "Create In" dropdown
  5. Give your Epic an informative title
  6. Fill in the comment box with specs, requirements and other relevant info
  7. Choose any appropriate labels in the right side panel
  8. Under "Epic" in the right side panel, choose the Epic to nest this Epic in. You can search by name using the search box that pops up
  9. Click Create an Epic
  10. At the center top of the page, choose a repo you have issues in
  11. Select the issues to attach to this Epic by checking the box next to them
  12. Change the repo selection and continue selecting issues until you have all of your new issues in the collection on the left side of the screen
  13. Click Update Epic on the lower left

If you make a new issue for this sub Epic, follow the instructions for Strategy 1 Make the issues in Zenhub, but in step 9 assign the issue to both Epics.

Which repo for which issue?

If you need a new repo added to the CFDE Roadmap Board contact Amanda. The following repos are connected in Zenhub via the CFDE Roadmap Board, which means that these repos can all be interlinked or have interdependencies by default. However, several of these repos are for project management only and should not be populated with "working issues".

cfde-deriva

crosscut-metadata

dashboard

deliverables

Not for working issues

deriva-action-provider

FAIR

risks

Not for working issues

security

specifications-and-documentation

systems-infrastructure

training-and-engagement

For issues relating to:

  • webinars and workshops
  • training events
  • cross pollination events
  • contact with the DCCs
  • any changes to the Training Website

usecases

For issues relating to:

  • creating new use cases
  • updating existing use cases
  • updating the completion status of requirements or use cases
  • any changes to the Use Case Library website

Labels

What labels are in repos and what they mean