Category Direction - Issue Tracking

Last reviewed: 2020-07-15

📝 Issue Tracking

   
Stage Plan
Maturity Complete

Introduction and how you can help

👋 This is the category strategy for Issue Tracking in GitLab; which is part of the Plan stage's Project Management group. Please reach out to the group's Product Manager, Gabe Weaver (E-mail), 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:

概要

Purpose

GitLab's mission is to build software so that everyone can contribute. Issues are the fundamental medium for enabling collaboration on ideas and tracking that idea as it turns into reality.

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 Tracking can be truly excellent at only one thing, what would it be?" This is Issue Tracking's Essential Intent:

To provide a single source of truth for an idea from inception to implementation. Members of a community should be able to trust and effectively collaborate on it from anywhere within GitLab without slowing down their current flow.

Next, asking "How will we know when we're done?" provides clarity of purpose. This is how we will know:

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

As issues are one of the primary, fundamental mediums for collaborating on ideas within GitLab, every single one of our internal and external personas falls within Issue Tracking's traget audience.

Challenges to address

Where we are Headed

We've written a mock press release 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 themes we will be working on over the next few releases:

Our group level issue board provides detailed insight into everything currently in flight.

What is Not Planned Right Now

Maturity Plan

This category is currently at the 😁Complete maturity level, and our next maturity target is 😍Lovable by 2020-09-01.

We are tracking our progress against this target via this epic.

User success metrics

We are tracking Monthly Active Users (MAU). Given we only receive usage ping data from 20-30% of instances using GitLab, the reported figures are likely substantially lower than reality.

Why is this important?

Issues are the fundamental medium for enabling collaboration on ideas and tracking that idea as it turns into reality. Over 5 million new issues are created per month and millions are interacted with on a daily basis across all instances of GitLab.

Improving collaboration on issues and how they are tracked directly correlates to a decrease in overall cycle time for a given change within a team's DevOps workflow.

Competitive Landscape

The project management tools market is dominated by Jira (31%), Microsoft (18%), Smartsheet (6%), and Trello (5%). To be competitive, GitLab needs to solve for the following customer comments in the immediate future:

We’ve been told to use gitlab’s milestones to capture agile sprints, as they’re the only thing that can have burn down, they work well with boards and have concepts of time. The default way epics get their start/end dates is based on the milestones of the issues attached though – doesn’t make sense as an issue shouldn’t be assigned to an agile sprint until the sprint is eminent. (root of problem is that gitlab milestone must either be equated to agile milestone or agile sprint, not both – you’re missing a concept)

Needs to be a way to have a team velocity, as a scrum master be able to go through and say “This feature requires ~100 points of work, we can do 25 points per sprint, will take 4 sprints (8 weeks) – you want it done in 6 weeks, will either require to be simplified or increased resourcing.”

Need burn-down chart/progress status of sprints, features, initiatives, and milestones.

During sprint planning, need a way to see what my team’s velocity has been last several sprints to have a good idea of how much we should be planning for upcoming sprint.

Need an easy way to see how much I’m assigning to each team member during sprint planning (team members aren’t interchangeable – sprint can have user stories less than velocity, but if user stories are only doable by one team member then the work can’t get done).

Need to be able to answer questions around “which teams/members are working on this feature?”, “are we still on track to meet this milestone?”, “we want to add this new feature, how will that slow down other development?”, “This team is needed for another project, how will that effect timelines on this project?”, etc…

Analyst Landscape

What they are saying:

Top Customer Success/Sales issue(s)

Top user issue(s)

Top internal customer issue(s)

Top Strategy Item(s)

One of our one year goals is to provide first-class support for modern "Agile" methodologies. Here are the next most important items to that end:

Another goal is to make it easier to collaborate while staying in flow. In order to enable users to interact with Issues from anywhere within the application, we will need to complete some fairly massive refactoring to support soft-real time functionality. These are the next most important steps:

As GitLab is expanding into larger organizations, we've received feedback that GitLab is not extensible enough to support the growing number of use cases are customers expect Plan to natively support. A long running and large strategic theme that this category is contributing to is making GitLab more flexible to support more diverse use cases. In the near term, we are contributing towards: