There are many different ways to build software and run projects. When we began to build portfolio and project management tools within GitLab, we asked ourselves, "How do you build tools to support a diverse array of workflows without crippling users with complexity?" Our conclusion? Build fewer, but more flexible tools. GitLab's built-in issue boards is a great example of how choosing to build a single, versatile tool can significantly reduce complexity and tooling maintenance for the user without limiting its capabilities.
How do you build tools to support a diverse array of workflows without crippling users with complexity? Build fewer, but more flexible tools.
Managing projects and software is inherently complex, but the tools don't have to be. Regardless of how many projects, people, or products you're managing, getting the visibility you need to keep things running smoothly should be the easy part.
GitLab's Issue Board is a simplified approach to a complex problem. We built on top of GitLab's existing issue-tracking functionality and leverage the power of labels by utilizing them as lists on a Kanban board. You can construct different views of your issues while maintaining the same filtering and sorting abilities you see across the issue tracker. You can create multiple boards to capture every layer of visibility you need, and define the scope of the board by milestone, labels, assignee, and weight.
An Issue Board is based on its project's label structure, therefore, it applies the same descriptive labels to indicate placement on the board, keeping consistency throughout the entire development lifecycle. And, you can click directly into an issue from the board to get started on your work.
An Issue Board shows you what issues your team is working on, who is assigned to each, and where in the workflow those issues are.
1. Workflow tracking
Whether you are a project manager trying to stay on top of a project's status, or a manager of a product who needs to report on progress, workflow visibility is critical.
To create a workflow issue board, simply create labels for each stage of your workflow and add them as lists on a board. Once you've labeled an issue, it will automatically appear on the list. When the issue is ready to move on to the next stage, simply drag and drop it into the next list. You can also update the labels directly in the issue and your changes will automatically appear on the board.
For example, your workflow might look something like this:
To see this on a board, simply create a label for each stage. Create a new board and add a list for each stage. You can drag and drop lists to put them in the desired order.
2. Cross-functional planning with different categories
Similar to the workflow view, you can create an issue board based on categories.
When working on a particular product or feature, you might want a high-level view of what each team is working on. You might create a label and a list for each team, or, perhaps you want to see what's being worked on across many projects or product lines.
In the example above, we have three label lists:
portfolio management, and
description templates. Each list represents a particular product area. So with this one board, you'll be able to see what open issues belong to those three areas. If you further scope the board to a particular milestone, you'll be able to see which of those issues are targeted to be worked on in that milestone.
This is just one example of how you can use an issue board for planning your work. Again, because the issue board is created using labels, your options are unlimited!
3. Team visibility with assignee lists
You can easily monitor what has been assigned to individuals on your team with assignee lists. Assignee lists show issues that are assigned to a specific user, and you can create a board to display a list for everyone on your team for a quick view of who is working on what.
4. Milestone planning (coming soon)
As part of our project management capabilities, we've built in milestones. Milestones are used to track issues and merge requests associated with a specific goal to be accomplished within a specific time frame.
As part of our next release (11.2 coming on August 22), we're shipping Milestone lists. Similar to our assignee lists, you will be able to quickly create a milestone view directly from your board. This is particulary useful for those leveraging an Agile workflow. With the milestone list, you can easily move issues (stories) between different milestones (i.e. sprints, iterations).
|Adding a milestone list||Milestone list|
Of course, this is just the tip of the iceberg. Stay tuned for the our next post on using GitLab for portfolio planning and management where we will cover a few of other favorite GitLab features like Epics, Roadmaps, and Milestones.