Product Vision - Plan

The product vision of the Plan stage of the DevOps lifecycle in GitLab is to enable all people in an organization to innovate ideas, turn those ideas into transparent plans, track their execution, adjust the plans along the way as needed, and evaluate the efficacy of the entire process, providing actionable insight for continuous improvement. This is enabled through team members, internal and external stakeholders, and executive sponsors all collaborating on the same single-source-of-truth artifacts throughout the application.

Representative flows

The Plan stage vision is characterized by a few representative flows.

Engineers and Designers

A small team of three Engineers, one Designer, and one Engineering Manager works to create a new innovative feature in an established product, currently planned for four iterations, each being two weeks. They are halfway through the second iteration, which is captured and tracked in a milestone and in multiple issue boards. Using a burndown chart, they quickly see that that they are at risk of missing the last two of the twelve issues scoped in the current iteration. The feature has a strict deadline, since it will be part of a high-profile marketing launch, so they are able to borrow folks from a different team to complete the two issues on time.

At the end of the iteration, the team demos the feature to the Product Manager and other stakeholders who are impacted. Together they log additional ideas and potential improvements in the issue tracker for future improvement. They confirm plans for the third and last iteration of the new feature, and start discussing plans for three new initiatives after that, using issue boards and roadmaps, accounting for capacity constraints and other team dynamics.

Product Managers

A Product Manager (PM) closely collaborates with the team mentioned above, and in fact, is part of the team itself. The PM monitors progress in issue boards and a burndown chart, but is less focused on the actual delivery, which instead is the primary responsibility of the engineering team. The PM stays in close communication with internal stakeholders within the company, coordinating the planned demo at the end of the iteration.

The PM also maintains a long-term roadmap for their own responsbile product. In addition to internal stakeholders, the PM frequently communicates with external and customers, sharing the roadmap, and adjusting it to fit market conditions and other strategic opportunities, as well as being aligned with the executive-level product strategy mentioned below.

Directors

An Engineering Director reporting to the VP of Engineering manages five engineering managers, who themselves in turn manage individual development teams. The Director is a new hire, filling out a new position tasked to further develop the people (engineering managers) and processes of this fast-growing company. The director uses analytics in the form of five customized dashboards based on OKRs (objectives and key results) that were developed after an initial observation period and signed off by the VP of Engineering. The analytics confirm the problems re-iterated by team members in meetings. Testing is a bottleneck for teams. Since there is an OKR to reduce the defect rate, the Director increases the hiring headcount for test engineers and works with the team to start an initiative into investigating possible technology solutions for integrated and automated testing.

The Director's responsibilities also include working with managers to track status of strategic intiatives in boards and roadmaps, at the GitLab group level, where the scoping is across multiple teams' work.

Executives

The CEO works with the VPs of Product and Engineering to develop the high-level product strategy for the next 8 calendar quarters. They create epics and use appropriate labels to indicate that they represent strategic high-level initiatives. They put start and end dates on the epics, representing their first pass approximate timelines and order of delivery. The epics are shared across the company in the roadmap view.

The Product and Engineering teams subsequently innovate on those initiatives, scoping out features and effort estimates which in turn adjust and further refine the epics themselves.

At the same time, the roadmap of epics are shared with the VPs of Sales, Marketing, and Operations, and their respective teams. These teams create, track and socialize their own initiatives using epics as well, that appear in the same roadmap.

Later on in the year, a strategic acquistion opportunity presents itself to the executive team and the board of directors. At the board meeting, they review the roadmap and decide the acquisition fits into the overall company vision and medium term strategy. They proceed to buy the company. With the acquisition, a key product feature originally planned is no longer required. Instead, the Engineering team is now responsible for integrating the technology from the acquired company. The VPs of Product and Engineering make adjustments to the roadmap accordingly. At that same time, the VP of Marketing inserts new epics into the roadmap to produce content and campaigns to explain the impact to customers (including customers of the acquired company). The VPs of Sales and Operations inserts epics to train and integrate the new staff from the acquired company. The entire roadmap is radically changed due to the acquisition, but the process is controlled and carefully managed with executive oversight and collaboration.

Detailed Plan product vision

Each area of the Plan product vision is shown below. It is ever-changing as we incorporate more ideas from users, customers, and community members.

Portfolio management with epics and roadmaps

GitLab portfolio management (together with project management below) allows different team members and stakeholders throughout your organization to innovate and collaborate on high-level ideas; turn those into strategic initiatives with executive sponsorship; scope and estimate work effort required; plan that work across quarters and years; and execute it in weeks and months.

See epics of planned upcoming improvements.

Project management with issues and boards

See epics of planned upcoming improvements.

Agile portfolio and project management

GitLab supports enterprise Agile portfolio and project management frameworks, including Scaled Agile Framework (SAFe).

See epics of planned upcoming improvements.

Personal workflow management with notifications and todos

GitLab helps you get your work done, personalized to your own specific workflows, using notifications and todos.

See epics of planned upcoming improvements.

Governance with enforced workflows and custom fields

Larger enterprises require enhanced governance in their business management and software delivery, which can be addressed with enforced workflows and custom fields.

See epics of planned upcoming improvements.

Analytics

GitLab has in-product analytics, helping teams track performance over time, highligting major problems, and providing the actionable insight to solve them.

See epics of planned upcoming improvements.

See Mark Pundsack talk about value stream management.

Teams leverage GitLab search to quickly search for relevant content, enabling stronger intra-team and cross-team collaboration through discovery of all GitLab data.

See epics of planned upcoming improvements.

Jira integration

GitLab supports deep Jira integration, allowing teams to use Jira for issue mangement, but still leveraging the benefits of GitLab source control and other native GitLab features.

See epics of planned upcoming improvements.

Other areas of interest

How we prioritize

We follow the general prioritization process of the Product Team. In particular, we consider reach, impact, confidence, and effort to identify and plan changes in upcoming milestones (monthly iterations).

Contributions and feedback

We love community code contributions to GitLab. Read this guide to get started.

Please also participate in our issue tracker. You can file bugs, propose new features, suggest design improvements, or continue a conversation on any one of these. Simply open a new issue or comment on an existing one.

You can also contact me (Victor) via the channels on my profile page.