Discuss Issue Weighting Process
I propose that our team implements a lightweight weighting/sizing process to aid with capacity planning. GitLab issues allow us to add weights which can be any integer greater than 0. There is no mandated or prescribed way of weighting issues at GitLab. It is up to each team to find what works best for them. That said, many teams at GitLab use similar approaches.
A common weighting system used by teams such as Plan:Project Management, Memory, and Geo consists of 4 weight options:
- 1 - Trivial
- 2 - Small
- 3 - Medium
- 5 - Large
Anything greater than a 5 should be broken down. See https://about.gitlab.com/handbook/engineering/development/enablement/memory/#weights for detailed descriptions of each weight.
Within teams that use this weighting system, there is variation in who is responsible for assigning weights. On the memory team, a new smaller team, every team member is expected to comment on weight. On the Plan:Project Management team, engineers are assigned to a rotating schedule where two engineers are responsible for assigning weights each milestone.
As we are a brand new team with engineers who are new to the company, I realize it may be difficult for us to confidently assign weights. I propose the following process as the Ecosystem team ramps up:
- We adopt the 1,2,3,5 weighting system described above
- For the next 2-3 milestones, we don't assign weights before committing to work. Rather, the engineer taking on an issue assigns the weight after they have completed the issue. If someone wants to assign a weight before doing the work, that is ok too.
- As we become more comfortable with the codebase and assigning weights, we follow up and discuss how we would like to approach assigning weights to issues in upcoming milestones.
Thoughts, questions, suggestions?