Come up with design for visualizing DAG/hybrid DAG in pipeline view
Validation track effort in preparation of the build track for issue #31877 (closed)
Problem Statement
We have implemented the DAG and are currently just displaying it over the top of stages, which doesn't really mean anything and could be confusing. We aren't taking advantage of the DAG structure in any way to render an important view. We need to determine the problem that people need to solve when they are visualizing a DAG.
Some initial discussions have taken place in #31877 (closed).
- Opportunity canvas: https://docs.google.com/document/d/17a3Jjzt0s69GRsN-JPeCf0rlmz9URyEZ2E9qOIpCbDY/edit
- Discussion guide: https://docs.google.com/document/d/1TYbi--6JyB3JtWnEdbQE3ExR_xJo_fpWLxGwX7vyGwg/edit?usp=sharing
DAG pipelines are currently rendered as follows:
The internal representation of the data structure is something more like the following:
As part of discovering the problem here we should also investigate how people are using the pipeline view. There are interesting possibilities for an integrated view rather than having two modes, since a stage flow can be considered a more rigid subset of a DAG. For example, there culd be one pipeline style that supports both DAG and non-DAG pipelines, especially since GitLab's DAGs can be hybrids. We could ignore stages from the platform's perspective, and essentially make them a kind of annotation for a job. In this way we'd have a unified concept.
Reach
This impacts users who have advanced, complex pipelines and are some of the largest most sophisticated users of GitLab pipelines.
3.0 = Significant reach (~25% to ~50%).
Impact
We have provided these teams with a solution that works in terms of execution, but have not given them any tools in order to visualize and understand what's actually happening. The only possibility is to look at the .gitlab-ci.yml
to understand what's going on.
2.0 = High impact
Confidence
We are very confident that this is a problem. We knew when implementing the DAG that we were doing it without any UX. This was the right decision and still a valuable capability, but we knew we needed to come back and solve this problem.
100% = High confidence
Effort
This is a moderate effort requiring new frontend work to display what's actually happening in the UX, and possibly backend changes to deliver the information to the frontend. It's also a challenging problem to solve and will require some thought and careful consideration to come up with a good solution.
- PM .5
- Designer .5
- Frontend Engineer 1
- Backend Engineer .5
Total 2.5 (though this is highly speculative as no specific solution has been identified)
UX Weighting rubric
Size | Score | Description | ||||||||
---|---|---|---|---|---|---|---|---|---|---|
Trivial | 1 | Mostly small to medium UI changes, smaller UX improvements, without unanswered questions. UX may need to stay involved with the issue but might not have to do work. | ||||||||
Small | 2 | Simple UI or UX change where we understand all of the requirements, but may need to find solutions to known questions/problems. | ||||||||
Medium | 3 | A medium change (lots of UI or UX changes/improvements required). Multiple pages are involved, we're starting to design/redesign small flows. Some unknown questions may arise during the work. | ||||||||
Large | 5 | A complicated change where other team members will need to be involved. Spans across multiple pages, we're working on medium-sized flows. There are significant open questions that need to be answered. | ||||||||
Huge | 8 | A complex change that spans across large flows and may require input from other designers. This is the largest flow design/redesign that we would take on in a single milestone. | ||||||||
Gigantic | 13 | A significant change that spans across multiple flows and that would require significant input from others (teams, team members, user feedback) and there are many unknown unknowns. It's unlikely we would commit to this in a milestone, and the preference would be to further clarify requirements and/or break in to smaller issues. |