KR: Focus on negative SUS theme related to merge requests => 4/5, 80%
Background
The UX of merge requests has consistently been a negative theme in both our SUS (System Usability Scale), as well as in the NPS (Net Promoter Score) reports.
@pedroms ran a async design critique to get a better understanding of the largest UI and UX deficiencies. He also created a slide deck and summary video for the larger topic of large MRs, which stood out as most negatively impacting the efficiency of teams, both internally as well as externally.
Goal
We want to involve all groups in this effort to improve the usability of merge requests to support the Code Review group who will be focused on the heavy lift to improve the actual performance, as stated in their group KR. We believe that the following steps will positively influence the SUS score in future surveys, besides the immediate impact they will have on all users and customers in the short-term.
Supporting KRs from other departments
- Product: Increase SaaS SUS score to 72.5 by improving MR experience
- Quality: Increase functional and performance test coverage of large MRs
- Development: Improve rendering performance of Large MR: 40% faster, 65% less memory usage
- Create: Improve rendering performance of Large MR: 40% faster, 65% less memory usage
Action Items
🐳 Opportunities to improve MRs perceived performance => 2/3, 77%
Lead: @pedroms
Collaborators: @alasch
The work to improve the rendering performance of large MRs (40% faster, 65% less memory usage) will be handled by the Code Review team and tracked as part of their Group KR: gitlab-org/create-stage#12808 (closed)
Additionally, we want to start to continuously track the perceived performance of MRs from our users, so that we gain a better understanding of not only the actual loading times, but also whether this is really noticable for users.
Background and context
This aspect of the KR is also one piece of the larger Code Review OKR to improve our handling of large MRs. We are still working on what our own definition of "large MR" is, which will be defined before the quarter starts. This one example of a MR with large changes takes ~12 seconds to load in GitLab UI, whereas it only takes 4 seconds on GitHub.
@pedroms will create a baseline of that perception, and we will collaborate with @alasch how we can make this part of the quarterly SUS.
To identify other UX changes that can help with the perceived performance, @pedroms is going to lead an audit to identify opportunities to improve in that regard. Examples are loading content progressively instead of multiple elements at once, skeleton loaders, etc...
-
Define methodology to measure perceived performance: gitlab-org&6141 (100%) -
Measure inputs and create baseline for perceived performance: gitlab-org&6141 (33%) -
Perform audit to identify opportunities to improve perceived performance without needing to improve technical performance: gitlab-org/gitlab-design#1608 (closed) (100%)
✨ Polish UI and text of MR widgets => 2/2, 100%
Lead: @timnoah
Collaborators: @jeldergl, @pedroms, @aqualls, and TWs and PDs of groups responsible for the widgets.
Epic: gitlab-org&5710 (closed)
One larger theme that was highlighted in the async design critique are the merge request widgets. Even though they contain highly similar information from a structural perspective, their designs are very different and often overwhelming, leading to confusion from the users.
Background and context
We don't communicate clearly enough what priority that information should have for the user, and how it is related to the changes of the MR itself. We thus want to extend the design framework for the merge widget that Pedro started and create new designs, ready to be implemented in Q3.
Exceptions are the following widgets, as they contain different kind of content:
- Approvers
- Branches
- Merge (including merge when pipeline succeeds and merge trains)
- Pipelines
-
Initial design and documentation of a merge request widget framework ready for review by 15th June. (100%) -
Create designs of the 10 affected widgets that use the new framework gitlab-org&6297 (closed). (100%)
Widget | Stage | Designer(s) | Completed |
---|---|---|---|
Accessibility | Testing | @timnoah | |
Browser performance | Testing | @rayana | |
Code quality | Testing | @beckalippert | |
License compliance | Composition Analysis | @annabeldunstone | |
Metrics | Testing | @rayana | |
Security | Security | @annabeldunstone @beckalippert @cam.x @andyvolpe @mfangman | |
Terraform | Configure | @jmandell | |
Test summary | Testing | @rayana | |
Status Checks | Manage | @aregnery | |
Load performance | Testing | @mvanremmerden |