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.
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.
- Install the browser extension
- In Github, create new issues in the appropriate repos
- Navigate to https://github.com/nih.cfde
- Click on the name of a repo
- Click
Issues
at the top of the page - Click
New issue
on the top right- If you are submitting a new deliverable, you will be prompted to use a template
- Click
Get started
next to the 'NewDeliverable' template
- Give your issue an informative title
- Fill in the comment box with specs, requirements, and other relevant info
- Assign someone to do the work using the
Assignees
on the top right - Choose any appropriate labels
- Click
Create an Epic
- If you already have some issues in your repo that should be part of this Epic, select them in the right hand panel.
- Otherwise, click
Create Epic
in the bottom of the left column
- Navigate to the CFDE Roadmap Board Issues View
- Click
New issue
on the top right - Choose the repo where you want the issue to appear in the "Create In" dropdown
- Give your issue an informative title
- Fill in the comment box with specs, requirements, and other relevant info
- Assign someone to do the work using the
Assignees
on the top right - Choose any appropriate labels in the right side panel
- 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)
- 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
- Click
Submit new issue
- In Github, create new issues in the appropriate repos
- Navigate to https://github.com/nih.cfde
- Click on the name of a repo
- Click
Issues
at the top of the page - Click
New issue
on the top right - Give your issue an informative title
- Fill in the comment box with specs, requirements, and other relevant info
- Assign someone to do the work using the
Assignees
on the top right - Choose any appropriate labels
- Click
Submit new issue
- In Zenhub assign those issues to the Epic
- Navigate to CFDE Roadmap Board Epic View
- Click on the name of the correct Epic in the kanban
- Scroll approximately 1/4 down the page and click
Modify this Epic
- At the center top of the page, choose a repo you made issues in
- Select the issues to attach to this Epic by checking the box next to them
- 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
- Click
Update Epic
on the lower left - 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.
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:
- Navigate to CFDE Roadmap Board Epic View
- Click on the name of the correct Epic in the kanban
- Click
+ add dependency
just below the title text - The moment you choose the other task it makes the link, be sure you correctly set the dependency direction first:
- If this Epic should depend on the one you choose, set the dropdown box to say "Blocked By"
- If this Epic is a dependancy of the one you choose, set the dropdown box to say "Blocking"
- 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:
- Navigate to an issue
- Click
+ add dependency
just below the title text - The moment you choose the other task it makes the link, be sure you correctly set the dependency direction first:
- If this issue should depend on the one you choose, set the dropdown box to say "Blocked By"
- If this issue is a dependancy of the one you choose, set the dropdown box to say "Blocking"
- In the search bar, find the issue or Epic that should be dependent on/a dependecy of this one
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.
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:
- Navigate to CFDE Roadmap Board Epic View
- Click on
Create
in the left panel - Choose "Epic"
- Choose the repo where you want the Epic to appear in the "Create In" dropdown
- Give your Epic an informative title
- Fill in the comment box with specs, requirements and other relevant info
- Choose any appropriate labels in the right side panel
- 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
- Click
Create an Epic
- At the center top of the page, choose a repo you have issues in
- Select the issues to attach to this Epic by checking the box next to them
- 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
- 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.
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".
Not for working issues
Not for working issues
For issues relating to:
- webinars and workshops
- training events
- cross pollination events
- contact with the DCCs
- any changes to the Training Website
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
What labels are in repos and what they mean