--- layout: markdown_page title: "Category Direction - Kanban Boards" --- Last reviewed: 2020-03-24 - TOC {:toc} ## πŸš₯ Kanban Boards | | | | -------- | ------------------------------ | | Stage | [Plan](/direction/plan/) | | Maturity | [Viable](/direction/maturity/) | ### Introduction and how you can help πŸ‘‹ This is the category strategy for Kanban Boards (Issue Boards) in GitLab; which is part of the Plan stage's [Project Management](/handbook/categories/#project-management-group) group. Please reach out to the group's Product Manager, Gabe Weaver ([E-mail](mailto:gweaver@gitlab.com)), if you'd like to provide feedback or ask any questions related to this product category. This strategy is a work in progress and everyone can contribute: - Please comment and contribute in the linked [issues](https://gitlab.com/groups/gitlab-org/-/issues?scope=all&utf8=%E2%9C%93&state=opened&label_name[]=group%3A%3Aproject%20management) and [epics](https://gitlab.com/groups/gitlab-org/-/epics?scope=all&utf8=%E2%9C%93&state=opened&label_name[]=Category%3AIssue%20Tracking) on this page. Sharing your feedback directly on GitLab.com is the best way to contribute to our strategy and vision. - Please share feedback directly via email, Twitter, or on a video call. ### Overview #### Purpose GitLab's mission is to build software so that **everyone can contribute**. Issue boards are intended to helps teams collaborate together more effectively during the planning and execution of sprints and releases. #### Essential Intent The goal of a Category's "Essential Intent" is to provide a concrete, inspirational statement. Another way to think of it is answering this single question -- *"If Issue Boards can be truly excellent at only one thing, what would it be?"* This is Issue Boards' Essential Intent: > To provide **flow** for teams that empowers them to achieve their **highest point of contribution** towards their community's **purpose** by always working on the right thing, for the right reason, at the right time in a transparent, collaborative, and consistent manner. Next, asking "How will we know when we're done?" provides clarity of purpose. This is how we will know: - Teams can create workflows that automate the movement of issues between Issue List based on rules they define. - Issue Boards can be configured to support Timeboxed or Continuous Planning models with the click of a button. - Changes to data on reflected on issue boards is propogated to all connected clients and rendered in under a second. - Teams can reliably communicate when any issue on an issue board will be completed with 99% accuracy. - Team Members can immediately understand what next steps they need to take on which issues and in what order just by looking at the Issue Card. - Issue Boards provide built in modes for various "Agile" practices such as backlog grooming or conducting release planning. #### How we prioritize We use the following decision framework when evaluating what to work on. Each idea must meet all three of the minimum criteria and two of the extreme criteria. | | Criteria 1 | Criteria 2 | Criteria 3 | | ---------------- | ----------------------------------- | ------------------------------------ | ----------------------------- | | Minimum (3 of 3) | simplifies collaboration | reduces the friction to contributing | aligned with market direction | | Extreme (2 of 3) | enhances the ability to build trust | decreases manual effort | increases clarity and purpose | #### Target Audience Issue Boards are geared towards software development teams, but are also flexible enough for other teams in your organization to manage any type of tasks requiring tracking. We are optimizing Issue Boards for the following personas: - [Parker (Product Manager)](/handbook/marketing/product-marketing/roles-personas/#parker-product-manager) - [Delaney (Development Team Lead)](/handbook/marketing/product-marketing/roles-personas/#delaney-development-team-lead) - [Presley (Product Designer)](/handbook/marketing/product-marketing/roles-personas/#presley-product-designer) - [Sasha (Software Developer)](/handbook/marketing/product-marketing/roles-personas/#sasha-software-developer) - [Devon (DevOps Engineer)](/handbook/marketing/product-marketing/roles-personas/#devon-devops-engineer) #### Challenges to address - ~55% of teams use Scrum, ~10% use Kanban, 5% use ExtremeProgramming, and the rest a mixtures of the various core agile methodologies. First class support for all of these in a simple, convention over configuration manner within Issue Boards is non-trivial. - Issues Boards are fairly useless from a "real time collaboration" standpoint. There is a large demand for solving this by building a Trello Powerup to enable [attaching issues to Trello cards](https://gitlab.com/gitlab-org/trello-power-up/issues/31). - GitLab is currently not tracking the important metrics for Scrum and Kanban teams. Many customers have written custom scripts to import information from GitLab via the API into BI tools for reporting on common things like cumulative flow and velocioty. ### Where we are Headed We've written a [mock press release](/direction/plan/project_management/one_year_plan.html) describing where we intend to be by 2020-09-01. We will maintain this and update it as we sense and respond to our customers and the wider community. #### What's Next & Why These are the epics that we will be working on over the next few releases: - [Real-time Boards](https://gitlab.com/groups/gitlab-org/-/epics/382) - **Why:** To allow teams to collaborate in real time on Issue Boards to improve the efficiency and effectiveness of planning and staying in sync on who is working on what. - [Integrated analytics on Issue Boards](https://gitlab.com/groups/gitlab-org/-/epics/1956) - **Why:** So that teams have burndown charts and cumulative flow diagrams specific to their team and workspace. - [Custom Workflows](https://gitlab.com/groups/gitlab-org/-/epics/364) - **Why:** So teams can define a standard process and workflow that issues should flow through. This will help teams improve consistency, have a clear understanding of the current status of an issue, and is a pre-requisite to providing more advanced value stream reporting. - [Swim lanes on Issue Boards](https://gitlab.com/groups/gitlab-org/-/epics/328) - **Why:** So teams can gain more visibility into their workflows by organizing issues in horizontal lanes across lists that group issues according to differnet contexts such as epics, assignees, milestones, and label. #### What is Not Planned Right Now #### Maturity Plan This category is currently at the 😊**Viable** maturity level, and our next maturity target is 😁**Complete** by 2020-06-22. We are tracking our progress against this target via [this epic](https://gitlab.com/groups/gitlab-org/-/epics/965). ### User success metrics We are currently using the [loose Stage Monthly Active Users (SMAU) definition](https://about.gitlab.com/handbook/product/categories/plan/#metrics) and intend on migrating to the strict definition as soon as we've implemented the necessary telemtry to measure the defined events. ### Why is this important? Issue Boards are the primary mechanism to keep teams aligned and executing on a shared, prioritized roadmap at the issue level. They also will provide the foundational constructs that allows teams to follow a consistent workflow and get quantitative data that empowers them to build trust through setting better expectations. ### Competitive Landscape The top competitor in this space is Atlassian's Jira, who are entrenched in many enterprise organizations that need an Agile/Kanban board solution. Atlassian also bought Trello, which is another significant player in this space, which has emphasized usability and being able to abstract out underlying software implementation details of an Agile sprint, to just simple task planning with a board interface. Jira's and Trello's boards have inspired us to further refine and make our boards even more usable. In particular, we have the following ideas sketched and scoped out, including doing a lot more right in the board itself, without leaving it: - [Combine board config and board filter for milestones](https://gitlab.com/groups/gitlab-org/-/epics/500) - [Rows and columns design of boards - Remove mixed lists boards](https://gitlab.com/groups/gitlab-org/-/epics/616) - [Epic swimlanes and filter in boards](https://gitlab.com/groups/gitlab-org/-/epics/328) - [Edit issues without leaving board](https://gitlab.com/groups/gitlab-org/-/epics/383) ### Analyst Landscape Similar to [Project Management](../issue_tracking/), the analyst landscape is focused on enteprise agile planning and value stream management. Issue Boards are a means to further make these processes more refined and efficient. See: - [Agile Portfolio Management](../../portfolio_management/) - [Value Stream Management](../../../manage/value_stream_management/) ### Top Customer Success/Sales issue(s) - [Overview of Issue Boards across ALL projects](https://gitlab.com/gitlab-org/gitlab/issues/15757) (πŸ‘ 99, +4) - [Improve the efficiency and experience of weighting an issue backlog](https://gitlab.com/gitlab-org/gitlab/issues/13240) (πŸ‘ 0, +0) - [Custom Workflows Per Group](https://gitlab.com/groups/gitlab-org/-/epics/364) (πŸ‘ 0, +0) ### Top user issue(s) - [Subissues on issue board](https://gitlab.com/gitlab-org/gitlab/issues/2530) (πŸ‘ 90, +1) - [Create personal issue boards](https://gitlab.com/gitlab-org/gitlab/issues/18073) (πŸ‘ 68, +5) - [Multiple projects issues on same Kanban/Board](https://gitlab.com/gitlab-org/gitlab/issues/17093) (πŸ‘ 46, +1) - [Configure view when clicking on Issues tab to be issue board](https://gitlab.com/gitlab-org/gitlab/issues/15722) (πŸ‘ 43, +0) - [Show tasks completed on Issue Card](https://gitlab.com/gitlab-org/gitlab/issues/16049) (πŸ‘ 43, +2) - [Add Time Tracking column totals to Issue Board](https://gitlab.com/gitlab-org/gitlab/issues/18166) (πŸ‘ 39, +1) - [Import/Export label configuration & Issue Board layout](https://gitlab.com/gitlab-org/gitlab/issues/20053) (πŸ‘ 41, +4) ### Top internal customer issue(s) - [Burndown chart in issue boards](https://gitlab.com/gitlab-org/gitlab/issues/6864) (πŸ‘ 8, +3) - [Real time boards](https://gitlab.com/gitlab-org/gitlab/issues/16020) (πŸ‘ 89, +5) - [Horizontal Swimlines](https://gitlab.com/groups/gitlab-org/-/epics/328) (πŸ‘ 17, +2) ### Top Strategy Item(s) A one year goal is to provide soft real time collaboration on Issues and Issue Boards. To get there, we need to: - Implement [websockets](https://gitlab.com/gitlab-org/gitlab/issues/21249). - Refactor Issue Boards to use GraphQL / Subscriptions to work with our websockets implementation. This will enable baseline [real-time baord lists](https://gitlab.com/groups/gitlab-org/-/epics/382). - This will then open the door for allowing full interaction with issues from [within an Issue Board](https://gitlab.com/gitlab-org/gitlab/issues/13319). Another goal is to integrate analytics such as burndown charts and cumulative flow diagrams directly into Issue Boards. In order to do that, we need to: - Introduce the ability to define consistent workflows. The working approach is to abstract the ability to do this from the existing behavior of [customizing stages in cycle analytics reports](https://docs.gitlab.com/ee/user/analytics/value_stream_analytics.html#customizable-value-stream-analytics). - Make a lot of improvements outlined in the `Category:Issue Tracking` direction that directly impact the quality of data we can show on an Issue Card. We also want to provide a more seamless flow from top down planning all the way to the issue level. As we work on improving epics and our roadmapping capabilities, we will also need to focus on: - Incorporating epics [more formally](https://gitlab.com/groups/gitlab-org/-/epics/2745) into Issue Boards. - Integrating [capacity planning and management](https://gitlab.com/groups/gitlab-org/-/epics/1686) into Issue Boards.