Accurate planning and coordination of each release at GitLab is critical to shipping useful features on time.In order to improve our planning process, not only ourselves but also for everyone who uses GitLab, we took a look at our existing features that help teams organize issues. From here, we determined that our current Milestone Board was not powerful enough for larger teams or more complex projects. The team then began to brainstorm ideas for designing and implementing a new type of board that allows users to visually plan issues.
At GitLab, we believe that the speed of innovation for our organization and product is constrained by the total complexity we've added so far. Creating boring solutions and simplifying our product to its absolute minimum allows us to ship faster and make iterations based on real user feedback. With this in mind, our team began determining basic principles that would help guide us during the creation process of the new Issue Board feature.
We knew we wanted the product to be able to:
Knowing this, the team was able to craft a proposal that began to come to life with requirements, user stories, and wireframes.
Here at GitLab we are able to gather feedback early by posting our proposals as issues that are publicly available to team members, contributors, customers, and users. With over 100 participants, the Issue Boards proposal recieved a lot of responses that validated many of our assumptions, addressed concerns, and provided insight for future improvements.
Some concerns included:
After addressing participants' concerns, the UX team started further refining UI elements and polishing interactions. Every member of the UX team worked on the design at some stage of the process and we came to the final product through iteration and collaboration.
We worked on creating a board that turned issues into draggable cards, provided an easy way to create default lists, and took advantage of the metadata that labels gave us by keeping the same filtering options that are available throughout the site. We also determined that the default Backlog list could contain an unmanageable number of issues, so we added a search functionality in order to find issues more easily.
The design, development, and product teams all worked closely throughout the creation process and met up once a week to discuss challenges, status, and overall excitement for the launch of this feature.
The GitLab Issue Board was created as a flexible tool that can be used for various workflows and tasks. We lean towards light-weight, flexible implementations so we can ship quickly, see real use cases, and make informed iterations. We are super excited to continue working on Issue Boards in the upcoming releases; from multiple and cross-project boards to searching through all lists and creating an issue directly from the board view. If you have further ideas for future improvements, let us know by making an issue!