Our UX department is made up of designers and researchers from all around the world. Each of them brings their own unique cultures, experiences, and strengths to GitLab. You can learn about each member of UX by visiting our team page and filtering by "UX".
The UX Department gets together once a week to share and discuss a variety of topics including workflow shortcuts or processes, designs for feedback, UX articles, and conferences. Attendance is optional but participation is encouraged. Each call is recorded and added to the archive.
The product development timeline is described in the engineering workflow section of the handbook. We will also explain it here.
At GitLab we follow a monthly release cycle, shipping on the 22nd of each month. We plan and track these monthly releases using milestones.
There are specific deadlines that inform our workflows and prioritization. Suppose we are talking about milestone
m that will be shipped in month
M (on the 22nd). We have the following deadlines:
missues are updated with docs starter blurb. Release post (WIP merge request) created with
missues and docs starter blurbs.
M-1, 8th(or next business day): Kickoff call
M, 7th: Completed
missues with docs have been merged into master. Un-started or unfinished
missues are de-scoped from
mbeing removed from them.
M, 15th: team retrospectives should happen so they can inform the public retrospective
M, 22nd: Release shipped to production. Release post published.
M 22nd: The next Release has been tentatively planned by Product and has been shared with engineering for discussion.
Our release timelines are overlapping. For example, when a release is shipped to production on the 22nd, the scope for the following release has already been established earlier in that same month. The following visualization illustrates that overlapping concept.
Every UX Designer is aligned with a PM. The UXer is responsible for the same features their PM oversees. The UX Designer meets with their PMs and other engineers every month to discuss scheduling and prioritization. Once the milestone has been set, the UXer assigns themselves to the issues in their area that need UX. UXers should immediately engage in and facilitate a conversation with the PM and engineers involved with the issue. Communicate early and often.
Understanding which PM is responsible for which area of the product is essential. An excellent resource for this is the who to talk to for what and product categories sections of the handbook. The product section of the handbook will give you a deep dive into how product at GitLab thinks and works.
Between the 22nd and 1st of each month, UXers meet with their PMs and other Engineering managers to discuss the priorities for the upcoming milestone. The purpose of these meetings is to ensure that all understand the requirements and to assess whether or not there is the capacity to complete all the issues proposed. The issues set for a particular milestone must be decided by the 1st of each month to give the engineering departments time to plan. There will be occasions where priorities shift, and changes must be made after the 1st. We should remain flexible and understanding of these situations while doing our best to make sure these exceptions do not become the rule.
Before working on the next release, we have a company kickoff call to explain what we expect to ship in the next release. This call is led by the product team and highlights significant improvements and features.
The UX Department has its kickoff as part of the UX weekly call directly preceding or following kickoff on the 8th of the month. Using the planning sheet as our guide, each designer walks through the issues they will be working on for that milestone. The kickoff fosters transparency and collaboration across the whole team so it is important that all UXers attend.
We want to make it as easy as possible for GitLab users to become GitLab contributors. The UX team should offer support, guidance, and resources to any community member interested in contributing code and/or UX improvements.
Issues that are beneficial to our users, 'nice to have(s),' that we currently do not have the capacity for or want to give priority to are part of our Backlog (Accepting merge requests), just as any issue we want to do but is not planned right now. We want to encourage our community to contribute at any stage of an issue we are interested in. If a backlog issue has an additional UX ready label, this issue points to changes that:
As a member of the UX Department, make sure to alert the UX Manager if you are asked to work on one of the issues but don’t have the capacity. The UX manager is responsible for encouraging the community member to suggest a solution, share a design proposal, and keep the conversation going.
For full details on contributing in general, see the contributing doc.
Once assigned to an issue, there is general workflow UX Designers follow.
Read about UX Designer workflows
There is a general workflow UX Researchers follow.
Read about UX Researcher workflows
GitLab uses labels to categorize, prioritize, and track work. The following is a breakdown of the labels most directly related to the UX workflow. An overview of all the workflow label types and uses can be found in the contributing doc.
After each release, we have a company retrospective call in which we discuss what went well, what went wrong, and what we can improve for the next release.
To understand the specific challenges faced by the UX Department, we hold an async UX retrospective after every milestone. This retro is done within the planning document. The goal is to evaluate what went well, what didn’t go well, and how we can improve.
We use epics and issues to organize, discuss, and execute our day-to-day work. Epics are used to define a larger vision and goal for a feature or area of the product. Issues within the epic drive the actions taken to achieve the desired results. In most cases, PM and the UX Manager are utilizing epics to plan and execute efforts over several milestones.