OKR Tracking within Gitlab
### Problem to solve
Today organizations (including GitLab) use a myriad of tools to track OKRs across the organization. This can span spreadsheets, presentations, text files in repositories, and in some cases purpose-built tools. They often also have the challenge of tying the Objectives and Key Results into initiatives (sometimes features, or software changes) - this requires careful integration between toolchains.
Can GitLab extend its current product to support that job to be done and provide a compelling solution that meets the needs of organizations that have adopted OKRs?
### Maturity roadmap
In order for GitLab to meet the demand for this category and provide a compelling solution, we'd likely need to meet "viable" maturity. Below are some capabilities broken into our traditional maturity levels (up to Complete) :
<table>
<tr>
<th>Minimal</th>
<th>Viable</th>
<th>Complete</th>
</tr>
<tr>
<td>
* [x] Title
* [x] Description
* [x] Assignee
* [x] Labels
* [x] Status
* [x] Timebox
* [x] Comments
* [x] System Notes
* [x] [Progress](https://gitlab.com/groups/gitlab-org/-/epics/8992 "OKR MVC - Progress (Percent Complete) Widget")
* [x] Record nesting up to 9 levels
* [x] Parent Objective visibility
* [x] Nested children visibility
</td>
<td>
* [x] [Health Status](https://gitlab.com/groups/gitlab-org/-/epics/9185 "Health Status for Work Items - MVC")
* [x] Comment threading
* [x] Collapse comment threads
* [x] [Description Quick Actions](https://gitlab.com/gitlab-org/gitlab/-/issues/382160 "Work Item - support quick actions through editing description")
* [x] [Add/Resolve Todo](https://gitlab.com/groups/gitlab-org/-/epics/9750 "Add or resolve a to-do on tasks, objectives and key results")
* [x] [Emoji Awards](https://gitlab.com/groups/gitlab-org/-/epics/9987 "Emoji reactions for tasks, objectives and key results")
* [x] [Description Diffs](https://gitlab.com/gitlab-org/gitlab/-/issues/390376 "Work Item: View description diff")
* [x] [Link work items](https://gitlab.com/groups/gitlab-org/-/epics/7459 "🔗 Work Items - Linked (Related) Items")
* [x] [Checkins MVC](https://gitlab.com/gitlab-org/incubation-engineering/okr/meta/-/issues/19 "Checkins for OKRs (iteration 1)")
* [ ] [Objectives view with drill down](https://gitlab.com/groups/gitlab-org/-/epics/12532 "Nested listing views for efficient workflows within SDLC and OKR workflows") =\> [alternate solution GLQL Dashboard](https://gitlab.com/groups/gitlab-org/-/epics/15574)
* [ ] [Navigation flow](https://gitlab.com/groups/gitlab-org/-/epics/12275 "OKR Management Navigation and Workflow")
* [ ] [Ability to turn off OKRs](https://gitlab.com/groups/gitlab-org/-/epics/12537 "OKR Settings Section")
* [ ] Create flow for OKRs
* [ ] [OKR Management at the group level](https://gitlab.com/groups/gitlab-org/-/epics/8778 "[Phase II]: Create and display work item at the group level")
* [ ] [Convert checklist items to child items](https://gitlab.com/gitlab-org/gitlab/-/issues/475030)
</td>
<td>
* [ ] [Improved checkins feature](https://gitlab.com/groups/gitlab-org/-/epics/12170 "Checkins for work items")
* [ ] [Current_value/computed_value](https://gitlab.com/groups/gitlab-org/-/epics/8991 "OKR - Start and End Value Widget")
* [ ] [Linked work items drive scoring](https://gitlab.com/groups/gitlab-org/-/epics/12205 "OKR Management - Workstream-Driven OKR Progress")
* [ ] Metric options (%, $, Number)
* [ ] OKR view by assignee and timebox
* [ ] OKR views by Organisation, Team(team name), and Individual
* [ ] Slack Integration
* [ ] Map sub-objectives/KRs to multiple objectives
* [ ] Ability to add custom metrics to KRs
* [ ] [Advanced rollup scoring.](https://gitlab.com/gitlab-org/gitlab/-/issues/415950 "Weighted progress for OKRs") Example: Non-average split across all children. Assigning certain child items a higher percentage score attribution.
* [ ] Update reminder is set on a custom-defined recurring basis.
* [ ] Support for drilling down an objective into the individual contributor level (including 1:1 support)
* [x] [Support for confidentiality and private objective](https://gitlab.com/groups/gitlab-org/-/epics/9547 "OKR: Advanced confidentiality")
* [ ] Support for the concept of "projects"
* [ ] [Close gaps to align to KPIs in SAFe 5.0](https://www.scaledagileframework.com/value-stream-kpis-2/)
* [ ] [Weighted Progress](https://gitlab.com/groups/gitlab-org/-/epics/12536 "Weighted progress for OKRs")
</td>
</tr>
</table>
### What does success look like, and how can we measure that?
Usage: xMAU of OKR specific feature functionality. Ideally, we'd see wide instance adoption and heavy usage across all personas comparative to some of our higher user volume stages.
Revenue: Large portions of this functionality will be in Ultimate so we should see explicit interest from customers, and ideally begin to see us landing deals because of our offerings in this category.
### Further details
For our initial implementation, we will be targeting R&D organizations that are already using GitLab. The goal will be to increase the number of stages, upgrade to Ultimate and increase the number of seats. Even if not every function within an organization is using GitLab to plan work and track business processes, there is an opportunity to bring value to R&D organizations that don't have an OKR tool yet or have not consolidated into a single tool.
<details>
<summary>Intended users</summary>
* [Delaney (Development Team Lead)](https://about.gitlab.com/handbook/marketing/product-marketing/roles-personas/#delaney-development-team-lead)
* Executive users (departmental leads, e-groups, c-suite)
</details>
<details>
<summary>Type of buyer</summary>
Executive buyer
</details>
<details>
<summary>Proposal Validation with Internal Personas</summary>
- David (VP Prod) - Completed Feb 3
- Farnoosh (Product Ops) - Completed Feb 4
- Michelle Gill (EM) - Completed Feb 7
- Stella (CoS) - Completed Feb 22
- Mek (VP Quality) - Completed Feb 21
- Eric Johnson (CTO) -
- Orit (GMP) -
</details>
<details>
<summary>References</summary>
- [Internal presentation](https://docs.google.com/presentation/d/1oDkOQnq-oCstthNTEBy6RqEPgcn_KCWptyKz_9hGgQo/edit#slide=id.g29a70c6c35_0_68)
- [COS Analysis](https://docs.google.com/document/d/1jdLDiJBqMv4Zx4aO7fx_HBlNBsqgrAZGPeXK_nXR53o/edit)
- Engineering requirements(https://docs.google.com/document/d/123IxTD8PoprAbblAf2-B_501_n9SSsH8MyabXJNZdDk/edit# )
</details>
## Feedback
#### MVC Feedback
The feedback gathered suggests we have a user base that is engaged and sees the potential of OKR Management in GitLab but also experiences challenges with its current implementation. Key areas of focus for development should include enhancing visibility and clarity, streamlining the creation and update process, expanding accessibility, and increasing the configurability of OKR settings.
<details>
<summary>Summary of Feedback from GitLab team members dogfooding OKR Management</summary>
<details>
<summary>Emergent Themes (Trending Feedback)</summary>
- **Visibility and Clarity:**
- Users repeatedly mention the need for improved visibility and clarity regarding the status and progress of OKRs. They desire a clear, at-a-glance understanding of OKR health and alignment within the larger organizational context.
- There is a strong preference for color coding or other visual indicators to differentiate objectives from KRs and to show hierarchy and health status.
- The ability to view a summary of organizational goals and OKR status at various levels (org, division, group) is frequently requested.
- **Hierarchy and Nesting:**
- Several users express difficulty with the current hierarchy and nesting of objectives and KRs. There is a need for a more intuitive UI that allows for easier navigation and understanding of OKR relationships without excessive complexity.
- The concept of a "nested view" or a breadcrumb trail to see parent OKRs contextually is seen as crucial for navigating and understanding the full picture.
- **Integration and Automation:**
- Users seek better integration of OKR updates into existing workflows. Automation reminders for updating OKRs and the ability to see progress and last updated status are commonly requested features.
- A recurring suggestion is for automated roll-ups of progress from linked issues/epics to update OKR progress.
- **Usability and Onboarding:**
- Feedback indicates that users find it challenging to keep OKRs updated, citing it as a major pain point. They seek a more streamlined and less laborious process.
- Users would like an easier way to create and edit objectives, with some mentioning the potential usefulness of a quick-create option for efficiency.
</details>
<details>
<summary>Feature Gaps and Pain Points</summary>
- **Limited Accessibility:**
- Users report that OKR Management is currently too limited in scope, with a need for access beyond just the project level.
- There is a need for the ability to relate OKRs to wider organizational objectives, suggesting a gap at the group level.
- **Complex Record Creation Process:**
- The process of creating and editing OKRs is reported to be cumbersome, with users desiring a more simplified and intuitive flow.
- Users find the process of updating OKRs with progress to be tedious and a source of frustration.
- **Configurability:**
- Users want to configure reminders for OKR updates and have the ability to turn on/off certain features to tailor the OKR Management tool to their needs.
- A specific request is made for the ability to enable/disable the feature entirely or to adjust the frequency of check-in reminders.
- **Strategic Planning Integration:**
- There is an expressed need for features that support strategic planning, such as predictive analysis and integrations with communication tools like Slack.
- Users are looking for OKR Management to aid in collaborative decision-making, emphasizing the importance of integrating strategic discussions with actionable work items within GitLab.
</details>
</details>
#### Customer Feedback
We continue to gather insights from customers and prospects ranging from C-level executives to department heads and development teams. These insights highlight the critical need for a tool that not only aligns strategic objectives with daily operations but also bridges the gap between high-level oversight and detailed task execution.
The feedback demonstrates a demand for an integrated, user-friendly system that can offer real-time updates, foster collaborative goal-setting, and provide clear visualization of progress and development capacities. Additionally, the need for enhanced privacy, seamless cross-tool workflows, and a system that resonates with the organizational culture and drives meaningful outcomes is needed.
<details>
<summary>Summary of feedback from customer demos</summary>
1. **Need for Executive-Level Insights:** A need for a tool that provides high-level strategic oversight and caters to executive involvement is indicated.
2. **Better Alignment and Feedback Loops:** A gap between customer expectations and deliverables suggests a need for an OKR tool that facilitates alignment and continuous feedback.
3. **User-Friendly Creation and Visualization Tools:** There is a preference for WYSIWYG editors and visual tools such as org chart views for easy navigation and understanding of OKR hierarchies.
4. **Enhanced Privacy and Security:** Concerns about privacy within GitLab signal the necessity for secure handling of sensitive OKR information.
5. **Cross-tool Integration:** Customers are seeking better integration between tools like Zendesk and GitLab to streamline the OKR management workflow.
6. **Development Capacity Visualization:** A clear need exists for visualizing development capacity and time allocation for objectives and key results.
7. **Decomposition and Workload Management:** Challenges in decomposing goals into tasks and weighing OKR results for informed workload balancing are highlighted.
8. **Strategic Alignment with Business Objectives:** There is a need for OKRs to be tightly connected to tangible business outcomes and product development.
9. **Impactful OKR Integration:** The notion that OKRs lack 'real teeth' suggests a need for their more impactful integration within organizational systems.
10. **Financial Planning vs. Strategic Objectives:** A disconnect between financial planning and strategic objectives suggests the need for alignment within the OKR tool.
11. **Collaborative and Dynamic OKR Setting:** Feedback indicates a preference for a more collaborative OKR setting process that allows for dynamic updates and crowdsourced involvement.
12. **Comprehensive Integration:** The use of multiple tools, including Workboard and PowerPoint, points to a potential need for an all-in-one solution or better integration.
13. **Effort Measurement Over Output:** A shift from measuring outputs to efforts may require more nuanced tracking and reporting capabilities within OKR systems.
14. **Systematic Approach to OKR Evaluation:** The need for a methodical approach to evaluate and potentially close down unproductive OKRs is mentioned.
15. **Unique Selling Proposition:** A differentiation factor that sets the OKR tool apart from competitors like Jira Align is crucial.
16. **Enhanced Reporting and Visualization:** A more consumable way to see progress is requested, highlighting the need for improved reporting and visualization features.
17. **Single System Preference:** There's a significant demand for a more integrated approach to OKR management, reducing the need for multiple systems.
18. **Robust Roadmapping Features:** A desire for insights into roadmapping suggests a need for features that can clearly connect OKRs to product roadmaps.
19. **Flexible Tool for Various Departments:** The necessity to accommodate multiple departments within the OKR framework calls for feedback on the tool's flexibility and scalability.
20. **Support for Cross-functional Visibility:** Feedback should assess how the tool can support better cross-functional visibility and collaboration, considering concerns about organizational silos.
</details>
#### User Feedback References
<details>
<summary>User feedback reference</summary>
User feedback summarized in the sections above is a reflection of the feedback obtained in user interviews and comments in issues, epics and docs listed below.
- https://gitlab.dovetail.com/data/yUTCZTOeyUACIuCQwb2I7 | https://gitlab.com/gitlab-org/product-feedback/-/issues/16
- https://gitlab.dovetail.com/data/5gQkGWnWICyVIHQ013XtNg
- https://gitlab.dovetail.com/data/6gmPlsQoQTiZYe4erXkpCd
- https://gitlab.dovetail.com/data/6LCZo3OkzEbxiayCZESAnn
- https://gitlab.dovetail.com/data/64aLLSWuOgOzYIedP96q6R
- https://gitlab.dovetail.com/data/4x8PWfvCgsZ1EOEGs1LvZx
- https://gitlab.dovetail.com/data/6l8SCLTo01rJyUB6Q4clgl
- https://gitlab.dovetail.com/data/33r3M9A4r8osVlwZltG6Bv
- https://gitlab.dovetail.com/data/4JYrEwINelCk3Ny7Ds6UZt
- https://gitlab.dovetail.com/data/1spsjOIoecrDN71HSFgRVH
- https://gitlab.dovetail.com/data/4JYrEwINelCk3Ny7Ds6UZt
- https://gitlab.dovetail.com/data/60By7RCHRVx6vGczENqTA5
- https://gitlab.dovetail.com/data/7EuHuZCLEIE5bxcVHljsBR
- https://gitlab.com/groups/gitlab-org/-/epics/8990
- https://gitlab.com/gitlab-org/gitlab/-/issues/386416
- https://docs.google.com/document/d/12cY8ary4c2p8wjmeTgaJFZmlPwElWvkf7Kfe6s6oRCE/edit
- https://docs.google.com/document/d/1Pc3hIAUOguF6JnWhxUKqSsgMAXDAa63BA_7Y0vbnGn4/edit?usp=sharing
- https://docs.google.com/document/d/16PuWDVnPm_vpN2KohI3StvIGdalFKxEJqlsgGZKKnfc/edit?usp=sharing
- https://docs.google.com/document/d/1HBERUnoxFaaXuRzICuFdMlqMJ912UCWJH82-v9qTuF0/edit?usp=sharing
- https://docs.google.com/document/d/1qYg7iaM6BoUKNobs0fhQXZkSHNBGlxaIgSvc3lksYC8/edit?usp=sharing
- https://gitlab.com/gitlab-org/plan-stage/product-planning/customer-interviews/-/issues/4
- https://gitlab.com/gitlab-org/distribution/team-tasks/-/issues/1386#note_1743516735
- https://gitlab.com/gitlab-org/enablement-section/okr/-/issues/4#note_1743513076
- https://gitlab.com/gitlab-org/opstrace/general/-/issues/157#note_1743514215
- https://gitlab.com/gitlab-org/quality/engineering-productivity/team/-/issues/298#note_1743539684
- https://gitlab.com/gitlab-org/quality/quality-engineering/team-tasks/-/issues/2073#note_1743533673
- https://gitlab.com/gitlab-com/gl-security/appsec/appsec-team/-/issues/536#note_1743533093
- https://gitlab.com/gitlab-com/gl-security/appsec/appsec-team/-/issues/350#note_1743526352
- https://gitlab.com/gitlab-com/customer-success/okrs/-/issues/451#note_1743530251
- https://gitlab.com/gitlab-org/analytics-section/analytics-instrumentation/internal/-/issues/683#note_1743519421
- https://gitlab.com/gitlab-org/opstrace/general/-/issues/157#note_1743514215
- https://gitlab.com/gitlab-org/tenant-scale-group/group-tasks/-/issues/117#note_1743509372
- https://gitlab.com/gitlab-org/quality/engineering-analytics/team-tasks/-/issues/334#note_1743506725
- https://gitlab.com/gitlab-org/fulfillment/meta/-/issues/1547#note_1743497853
</details>
_This page may contain information related to upcoming products, features and functionality. It is important to note that the information presented is for informational purposes only, so please do not rely on the information for purchasing or planning purposes. Just like with all projects, the items mentioned on the page are subject to change or delay, and the development, release, and timing of any products, features, or functionality remain at the sole discretion of GitLab Inc._
_This page may contain information related to upcoming products, features and functionality. It is important to note that the information presented is for informational purposes only, so please do not rely on the information for purchasing or planning purposes. Just like with all projects, the items mentioned on the page are subject to change or delay, and the development, release, and timing of any products, features, or functionality remain at the sole discretion of GitLab Inc._
<!--triage-serverless v3 PLEASE DO NOT REMOVE THIS SECTION-->
_This page may contain information related to upcoming products, features and functionality. It is important to note that the information presented is for informational purposes only, so please do not rely on the information for purchasing or planning purposes. Just like with all projects, the items mentioned on the page are subject to change or delay, and the development, release, and timing of any products, features, or functionality remain at the sole discretion of GitLab Inc._
<!--triage-serverless v3 PLEASE DO NOT REMOVE THIS SECTION-->
<!-- triage-serverless v3 PLEASE DO NOT REMOVE THIS SECTION -->
*This page may contain information related to upcoming products, features and functionality.
It is important to note that the information presented is for informational purposes only, so please do not rely on the information for purchasing or planning purposes.
Just like with all projects, the items mentioned on the page are subject to change or delay, and the development, release, and timing of any products, features, or functionality remain at the sole discretion of GitLab Inc.*
<!-- triage-serverless v3 PLEASE DO NOT REMOVE THIS SECTION -->
epic