The responsibilities of this collective team are described by the Plan stage. Among other things, this means working on GitLab's functionality around issues, issue boards, milestones, todos, issue lists and filtering, roadmaps, time tracking, requirements management, and notifications.
For UX questions, @ mention the Product Designers on the Plan stage. Currently that is Holly Reynolds for Plan:Project Management, Alexis Ginsberg for Plan:Portfolio Management, and Nick Brandt for Plan:Certify.
We work in a continuous Kanban manner while still aligning with Milestones and GitLab's Product Development Flow.
When we're planning capacity for a future release, we consider the following:
The first item gives us a comparison to our maximum capacity. For instance, if the team has four people, and one of them is taking half the month off, then we can say the team has 87.5% (7/8) of its maximum capacity.
The second item is challenging and it's easy to understimate how much work is left on a given issue once it's been started, particularly if that issue is blocking other issues. We don't currently re-weight issues that carry over (to preserve the original weight), so this is fairly vague at present.
The third item tells us how we've been doing previously. If the trend is downwards, we can look to discuss this in our retrospectives.
Subtracting the carry over weight (item 2) from our expected capacity (the product of items 1 and 3) should tell us our capacity for the next release.
Points of weight delivered by the team on the last three milestones, including rolling average. This allows for more accurate estimation of what we can deliver in future milestones. Full chart here.
Issues have the following lifecycle. The colored circles above each workflow stage represents the emphasis we place on collaborating across the entire lifecycle of an issue; and that disciplines will naturally have differing levels of effort required dependent upon where the issue is in the process. If you have suggestions for improving this illustration, you can leave comments directly on the whimsical diagram.
If an issue is
> 3 weight, it should be promoted to an epic (quick action) and split it up into multiple issues. It's helpful to add a task list with each task representing a vertical feature slice (MVC) on the newly promoted Epic. This enables us to practice "Just In Time Planning" by creating new issues from the task list as there is space downstream for implementation. When creating new vertical feature slices from an epic, please remember to add the appropriate labels -
feature label, and the appropriate
workflow stage label - and attach all of the stories that represent the larger epic. This will help capture the larger effort on the roadmap and make it easier to schedule.
We perform many board refinement tasks asynchronously, using GitLab issues in the Plan project. The policies for these issues are defined in triage-ops/policies/plan-stage. Some of these issues use supplemental boards:
Other issues just define that, for instance, anything in or to the left of ~"workflow::ready for development" should be moved as a milestone comes to a close. A full list of refinement issues is available by filtering by the ~"Plan stage refinement" label.
The Plan stage conducts monthly retrospectives in GitLab issues. These are confidential during the initial discussion, then made public in time for each month's GitLab retrospective. For more information, see team retrospectives.
The retrospective issue is created by a scheduled pipeline in the async-retrospectives project. For more information on how it works, see that project's README.
Most of our group meetings are recorded and publicly available on YouTube in the Plan group playlist.
The only regular meeting we have is a Wednesday group-wide meeting. Because of timezone constraints, not everyone is able to attend, and the meeting is currently more suitable for people in EMEA and the eastern side of the Americas.
The agenda follows this format:
If there are no agenda items eight hours prior to the call, we skip the call entirely.
> 3, it is a good signal it should be broken down into smaller pieces. The larger the weight, the more risk and likelihood the Issue will take longer than the estimate.
Our stage level dashboard (internal) is a work in progress and is where we keep track of SMAU, feature usage, and other metrics we care about.
We have two versions for SMAU, with the "loose" version currently taking precedence as our Stage's externally communicated "North Star". It is our hope and long term goal to move away from defining our success according to vanity metrics and move towards a more congruent model that is based upon actual feature usage and adoption.
The definitive metric is driven by total count of unique users with one or more page views over a given reporting period, where views attributable to the Plan Stage are being derived from the following paths:
We are currently in the process of implementing the necessary telemetry instrumentation to properly track the "strict" definition. The definitive metric is driven by total count of unique users with one or more actions over a given reporting period, where actions attributable to the Plan Stage are being derived from the following events: