Contributor Guidelines: Kanbans and Issues - noi-techpark/odh-docs GitHub Wiki

[DRAFT; TO BE DISCUSSED]

This guidelines talks about how we want to use the Kanban, issues, labels and milestones. At the moment we use GitHub for it, but this might change in the future if needed.

Kanban

Internal

The main internal Kanban board is at https://github.com/orgs/noi-techpark/projects/1

[TODO; DESCRIBE COLUMNS]

External

For external companies or projects create a new Kanban out of existing ones:

  1. Open an existing one: https://github.com/orgs/noi-techpark/projects/28 for example
  2. Click on the Menu (on the right of your screen)
  3. Choose the 3 dots
  4. Click copy: Owner = noi-techpark; choose a name and description; make it "private"
  5. Ask the contributors for their GitHub accounts and add them with "write" access
  6. Connect existing repositories to this Kanban (make sure these contributors have also access to the repos and that they accept the invitations)
  7. Send them the Getting Started Guidelines. This guidelines describe also the meaning of each column.

Issues

Issues should have a title of the following form:

As [a persona of this project], 
I want to [something that that persona needs], 
because [the business value, why should we do that] 

Initially (inside the Backlog column), the description is scarce, just describing the most important high-level problem and the reasons. If we move it into the Estimate or To Do column, we should add some detail to the description and ideally some bullet points with tasks. The first line should be a deadline and priority (low or high)...

Tasks, like put it on production or test it are not needed, because they are reflected by the column name and issue position already.

Testing column: Describe what has been done and what should be done to test it. Pass the issue to another developer by removing yourself from the issue and by adding the tester.

Add labels and a milestone (a.k.a. deadline) to the issue if you decide to select it for a sprint.

Milestone

A milestone should have a name and deadline, the description is optional. The title of this milestone should show the name and deadline. Otherwise, the date is not shown in the Kanban, nor the issue detail view. For example,

MVP1 (31 Dec 2021)

or

Version 2 (March 2022)

Labels

  • prj:...
    • Project labels: To which project does this issue belong?
    • prefix = prj:
    • color = #f3a132
  • blocked
    • Blocked labels: The issue is blocked, because we wait for an external contributor to react
    • color = #5bef5d
  • bug
    • The issue describes a bug
    • color = #d73a4a
  • outsourced:...
    • The issue has been given to an external contributor. Put an abbreviated company name after the prefix.
    • prefix = outsourced:
    • color = #e99695
    • description = Given to an external contributor: [name of company]
  • epic
    • The issue is an epic, that is, it is longer than a sprint
    • color = #8d42d7

There are other labels, like question etc. can be used as well. I suggest, to not use enhancement though, because a user story is always an enhancement, when not labelled bug or question... so it is just noise, when we put it.