Research proposal for providing support in issues for cross-functional collaboration and task completion

What’s this issue all about?

This issue is to dig in and understand how we might best solve the need for cross-functional teams to collaborate together and track their task/requirement completion on issues. This proposal is spawn from gitlab#2036 (closed), where user's have expressed this current problem as well as potential solutions.

Some of the problems expressed are:

  • When cross-functional areas collaborate on a single issue, they each add weights and manually update the single Issue Weight field, so there is no clarity around which functional areas has how much weight per issue, making capacity planning difficult and inaccurate.
  • If a single issue has multiple contributors responsible for implementation, its impossible to get an understanding of where an issue is and who it's waiting on without opening the issue and digging through the comments. This makes it hard for both the Engineering Manager and assigned Engineer to quickly understand where they need to focus their efforts when they down in the morning to work.

Who is the target user of the feature?

Enterprise customers

Parker (Product Manager)

  • Needs to be able to understand the status of work being completed (who is it currently waiting on)
  • Needs to be able to understand the overall effort (weight) of issues being worked on, as well as what that distribution is per individual (or role)

Delaney (Development Team Lead)

  • Needs to be able to easily visualize how much work (weight) is assigned to individual developers to ensure proper allocation and capacity planning
  • Needs a way to be able to break down technical requirements / steps necessary to complete a given issue, in order to derisk the issue and provide a more accurate issue weight in light of a given issue's completion criteria

What questions are you trying to answer?

Core questions
Additional questions
  • How are users currently solving this problem themselves?
  • How would they want to be able to manage this problem?
  • In what way is the ability to create epics with issues underneath not able to solve this problem for users?
  • Or linked/related issues?
  • What is all of the information that a user would need to capture for a given “task”? (ex: weights, description, assignee, due date, etc)
  • If the weight of an issue were the sum of multiple “tasks” within that issue, how would that affect a PM or Engineering Lead’s job?
  • What would they need in order for this to still work for them in terms of allocation & capacity planning?
  • How would a user expect to be able to view and manage these “tasks” within an issue?

What hypotheses and/or assumptions do you have?

One of the hypothesis discussed in the related issue is as follows: Users would benefit from a more feature-rich task list, where they could break issues down into smaller “tasks” and assign those by individual (or role) with associated weights for each (which would roll up into the total issue weight).

What decisions will you make based on the research findings?

Determine the best approach for solving this problem, whether it be expanding the functionality of task lists, or doing something completely different (sub-issues?).

Figure out what the MVC would be to solve this problem, and break out needs that are less priority into future iterations.

When do you need this research to be completed? (Milestone or date)

Edited by Nick Brandt