馃専 Work Item Migration Summary
Updates
- 2023-06-12: We agreed to redo the gap analysis after we validate design directions.
Problem
This overview highlights the serious inconsistencies between the experience for the various types of work items.
Outcome
Consistent behavior across all work item types.
Design Guidelines
- If the work item foundation does not support the needs of your type, do not change the foundation for just your type. Work with
@nickleonard
to incorporate your needs into the foundation that supports all types. - If you need type-specific behaviors to enable your users to complete their JTBD, this should be accomplished through a widget interface.
- ... @nickleonard to own this section
Work Item Type & Widget Mapping
https://docs.google.com/spreadsheets/d/1D3QZ5L2hb7yzIyYnob13o3Mk2vxzCplR-hc5GFmr38c/edit#gid=0
Default hierarchy of types
To successfully complete the migration without breaking changes to existing epic and issue relationships:
graph LR
1["Level 1: <br>workItemType: epic"] --> 2["level 2: <br> workItemType: epic"]
2 --> 3["level 3: <br> workItemType: epic"]
3 --> 4["level 4: <br> workItemType: epic"]
4 --> 5["level 5: <br> workItemType: epic"]
5 --> 6["level 6: <br> workItemType: epic"]
6 --> 7["level 7: <br> workItemType: issue"]
7 --> 8["level 8: <br> workItemType: task"]
Breadcrumbs, URLs, list views, closed vs. archived inconsistencies
These working assumptions are subject to change with further validation and customer discovery.
Issue | Incident | Task | Requirement | Test Case | Epic | |
---|---|---|---|---|---|---|
Breadcrumb now | issues |
incidents |
work items |
requirements |
test cases |
epics |
Breadcrumb future | work items |
work items , incidents [1] |
work items |
work items |
work items |
work items |
URL now | /issues/ |
/issues/ /issues/incident/ [1] |
/work_items/ |
/requirements/ |
/test_cases/ |
/epics/ |
URL Future | /work_items/ |
/work_items/ |
/work_items/ |
/work_items/ |
/work_items/ |
/work_items/ |
Dedicated list view now | No | Yes | No | Yes | Yes | Yes |
Dedicated list view future | No | Yes | No | No | No | No |
Shared in views with other types now | Yes | Yes | Yes | No | Yes | No |
Shared in views with other types future | Yes | Yes | Yes | Yes | Yes | Yes |
closed or archived now | closed |
closed |
closed |
archived |
archived |
closed |
closed or archived future [2] | archived |
archived |
archived |
archived |
archived |
archived |
[1] - The breadcrumbs are dynamic and change based on which path into the work item was taken (ex: from the incidents list, the breadcrumb is incidents
. From the issue list, the breadcrumb is issues
). This is exactly what breadcrumbs are intended to provide -- contextual reference as to where in the product you are.
[2] The tentative plan is to decouple state from status via Configurable Work Item Statuses (&5099). This makes "archived" a much more intuitive distinction and a pattern we want to extend to other objects like labels in the future.