[UX] Workflow for managing custom statuses
Goal: Enable teams to represent their workflow through statuses.
Current proposal
IA
- Introduce "Plan" page within Settings for both groups and projects
- Visible to all users, editable with Reporter role or higher
- Cross-link from Issues list
- Initial tabs are "Status" and "Templates", with the latter only holding default template for now (moved from Settings > General)
Status configuration
- Status fields are Name, Description (optional), and Color.
- Statuses belong to one category.
- Categories are Triage, To do, In progress, Done, and Cancelled; categories are not customizable.
- Categories can have zero statuses.
- Statuses can be reordered within a category, defining the order they appear in lists.
- Category defines the icon used, and the default color.
- One status is the Open default (Triage, To do, or In progress category status), one status is the Closed default (Done, Cancelled category)
- Defaults for each must always exist. Users must select an alternate in order to remove a status; if no alternates are available the status cannot be removed.
- All statuses within a group/project belong to the same lifecycle; in later iterations >1 lifecycle can be used to separate workflows for different work item types (e.g. Issues and Tasks can use lifecycle "Development", Epics and Objectives can use lifecycle "Strategy", etc)
- Lifecycles are not represented to the user in this iteration. This is noted only for potential development impact.
Group > Project inheritance
- In the first iteration, statuses are "owned" by the root group. All groups/projects within a root group have the same status configuration.
- In the next iteration, lifecycles will be exposed. Lifecycles will be inherited from groups down to subgroups/projects, but lower levels can create their own lifecycles. This will allow a project to have different statuses from a parent group.
- Statuses will remain shared across the group hierarchy. A status created in project A can be used in a lifecycle in project B if both A and B are within the same hierarchy.
Validation (WIP)
Edited by Nick Leonard