 # Categories that GitLab has offerings in. Drives /handbook/product/categories

# Format description and documentation for this file is in the handbook https://about.gitlab.com/handbook/marketing/website/#working-with-stages-groups-and-categories

# Manage

subgroups:
  name: "Subgroups"
  stage: manage
  feature_labels:
    - group templates
    - subgroups
  documentation: https://docs.gitlab.com/ee/user/group/subgroups/
  direction: /direction/manage/subgroups/
  description: "Organize your projects and restrict access to controlled resources."
  roi: false
  marketing: true
  available: 2017-03-22
  viable:
  complete: 2019-01-01
  lovable: 2020-12-31
  maturity: complete
  acquisition_appetite: low
  priority_level: high

templates:
  name: "Templates"
  label: "Category:Templates"
  documentation: https://docs.gitlab.com/ee/user/group/custom_project_templates
  direction: /direction/manage/templates/
  stage: manage
  description: "Get new projects hitting the ground running with extensible, reusable templates."
  roi: false
  marketing: true
  acquisition_appetite: low
  priority_level: low

audit_events:
  name: "Audit Events"
  stage: manage
  documentation: https://docs.gitlab.com/ee/administration/audit_events.html
  direction: /direction/manage/audit-events/
  description: "Track important events for review and compliance such as who performed certain actions and the time they happened."
  roi: false
  available: 2017-01-01
  viable: 2018-11-22
  complete: 2020-07-22
  lovable:
  maturity: viable
  marketing: true
  acquisition_appetite: low
  hiring_plan_eoyfy20_be: 1
  hiring_plan_eoyfy20_fe: 0.5 # be/2
  hiring_plan_eoyfy20_ux: 0.17 # (be+fe)/9
  hiring_plan_eoyfy20_qa: 0.11 # (be+fe)/14
  priority_level: high

audit_reports:
  name: "Audit Reports"
  stage: manage
  direction: /direction/manage/audit-reports/
  roi: false
  available: 2020-06-22
  viable:
  complete:
  lovable:
  maturity: planned
  marketing: true
  priority_level: medium

compliance_management:
  name: "Compliance Management"
  stage: manage
  # TODO: Placeholder documentation to allow linting rule to be committed; replace with proper link
  documentation: https://about.gitlab.com/direction/manage/compliance-management
  direction: /direction/manage/compliance-management/
  description: "Provide customers with the tools and features necessary to manage their compliance programs."
  roi: false
  available: 2020-01-22
  viable: 2020-07-22
  complete: 2021-06-26
  lovable: 2023-11-18
  maturity: minimal
  marketing: true
  priority_level: high

authentication_and_authorization:
  name: "Authentication and Authorization"
  stage: manage
  feature_labels:
    - 2FA
    - authentication # TODO: Migrate this to Category:Authentication and Authorization
    - authorization # TODO: Migrate this to Category:Authentication and Authorization
    - ldap
    - oauth
    - saml
  documentation: https://docs.gitlab.com/ee/administration/auth/
  direction: /direction/manage/auth/
  description: "GitLab features multiple auth mechanisms including LDAP (including Active Directory), OmniAuth, CAS, SAML, Okta, and Authentiq."
  roi: true
  available: 2017-10-01
  viable: 2018-06-22
  complete: 2019-08-22
  lovable:
  maturity: complete
  marketing: false
  acquisition_appetite: low
  hiring_plan_eoyfy20_be: 2
  hiring_plan_eoyfy20_fe: 0.5
  hiring_plan_eoyfy20_ux: 0.28 # (be+fe)/9
  hiring_plan_eoyfy20_qa: 0.18 # (be+fe)/14
  priority_level: high

users:
  name: "Users"
  stage: manage
  feature_labels:
    - user management # TODO: Migrate this to Category:Users
    - user profile
    - user creation
    - user settings
  documentation: https://docs.gitlab.com/ee/user/profile/
  direction: /direction/manage/users/
  description: "Managing who's using your instance and what they can do with user management tools, permissions, and user profiles."
  roi: false
  marketing: false # not "available" as a capability for customers
  acquisition_appetite: low
  priority_level: low

code_analytics:
  name: "Code Analytics"
  stage: manage
  feature_labels:
    - analytics
  # TODO: Placeholder documentation to allow linting rule to be committed; replace with proper link
  documentation: https://about.gitlab.com/direction/manage/code-analytics
  direction: /direction/manage/code-analytics/
  description: ""
  roi: false
  available: 2020-01-22
  viable: 2021-01-22
  complete:
  lovable: 2023-11-18
  maturity: minimal
  marketing: true
  acquisition_appetite: medium
  hiring_plan_eoyfy20_be: 1
  hiring_plan_eoyfy20_fe: 1
  hiring_plan_eoyfy20_ux: 0.22 # (be+fe)/9
  hiring_plan_eoyfy20_qa: 0.14 # (be+fe)/14
  priority_level: medium

devops_reports:
  name: "DevOps Reports"
  stage: manage
  feature_labels:
    - convdev
    - devops score
  documentation: https://docs.gitlab.com/ee/user/instance_statistics/dev_ops_score.html
  direction: /direction/manage/devops-reports/
  description: "Get an overview of how well your organization is adopting DevOps and to see the impact on your velocity."
  roi: false
  available: 2017-01-01
  viable: 2020-05-22
  complete:
  lovable: 2023-11-18
  maturity: minimal
  marketing: true
  acquisition_appetite: medium
  priority_level: low

importers:
  name: "Importers"
  label: "Category:Importers"
  stage: manage
  feature_labels:
    - import
    - project export
    - project import
  description: "Import existing work into GitLab from a wide variety of sources."
  documentation: https://docs.gitlab.com/ee/user/project/import/
  direction: /direction/manage/importers/
  marketing: false
  roi: false
  acquisition_appetite: low
  priority_level: high

planning_analytics:
  name: "Planning Analytics"
  stage: manage
  documentation: https://docs.gitlab.com/ee/user/group/issues_analytics/
  direction: /direction/manage/planning-analytics/
  description: "Gather insights about how your organization is planning and prioritizing across projects and groups."
  roi: false
  available: 2018-11-22
  viable: 2020-12-22
  complete:
  lovable: 2022-11-22
  maturity: minimal
  marketing: false
  acquisition_appetite: low
  priority_level: low

internationalization:
  name: "Internationalization"
  label: "Category:Internationalization"
  stage: manage
  documentation: https://docs.gitlab.com/ee/development/i18n/
  direction: /direction/manage/internationalization/
  description: "Support for crowd-sourced internationalization of GitLab."
  marketing: false
  roi: false
  acquisition_appetite: low
  hiring_plan_eoyfy20_be: 0.5
  hiring_plan_eoyfy20_fe: 0.25 # be/2
  hiring_plan_eoyfy20_ux: 0.08 # (be+fe)/9
  hiring_plan_eoyfy20_qa: 0.05 # (be+fe)/14
  priority_level: low

value_stream_management:
  name: "Value Stream Management"
  stage: manage
  feature_labels:
    - cycle analytics
  documentation: https://docs.gitlab.com/ee/user/analytics/cycle_analytics
  marketing_page: /solutions/value-stream-management/
  direction: /direction/manage/value_stream_management/
  description: "Visualize, manage and optimize the flow of work through the DevOps lifecycle value stream."
  roi: false
  available: 2017-01-01
  viable: 2020-04-22
  complete: 2021-01-22
  lovable: 2023-11-18
  maturity: minimal
  marketing: true
  acquisition_appetite: medium
  hiring_plan_eoyfy20_be: 1
  hiring_plan_eoyfy20_fe: 0.5 # be/2
  hiring_plan_eoyfy20_ux: 0.17 # (be+fe)/9
  hiring_plan_eoyfy20_qa: 0.11 # (be+fe)/14
  priority_level: high

insights:
  name: "Insights"
  stage: manage
  documentation: https://docs.gitlab.com/ee/user/group/insights/
  roi: false
  available: 2019-05-22
  viable: 2019-06-22
  complete:
  lovable:
  maturity: minimal
  marketing: true
  acquisition_appetite: low

# Plan

issue_tracking:
  name: Issue Tracking
  stage: plan
  feature_labels:
    - filter bar
    - issue weight
    - issues
    - labels
    - markdown
    - milestones
    - notifications
    - quick actions
    - todos
  marketing_page:
  documentation: https://docs.gitlab.com/ee/user/project/issues/
  direction: /direction/plan/issue_tracking/
  description: "Plan, organize, and track project progress with issues, labels, weights (story points), milestones (sprints and releases), time tracking, due dates, and assignees using Scrum, Kanban, SAFe, and other methodologies."
  roi: true
  available: 2017-01-01
  viable: 2018-01-01
  complete: 2018-01-01
  lovable: 2020-09-01
  maturity: complete
  marketing: true
  acquisition_appetite: medium
  priority_level: high

jira_importer:
  name: "Jira Importer"
  stage: plan
  documentation:
  marketing_page:
  direction: /direction/plan/jira_importer/
  description: "Allow users to import from Jira without losing required data"
  roi: false
  available: 2020-04-22
  viable:
  complete:
  lovable:
  maturity: planned
  marketing: false
  priority_level: high

kanban_boards:
  name: "Kanban Boards"
  stage: plan
  label: Category:Issue Boards
  marketing_page: /product/issueboard/
  documentation: https://docs.gitlab.com/ee/user/project/issue_board.html
  direction: /direction/plan/kanban_boards/
  description: "Visually prioritize, manage, and track work execution with powerful and flexible kanban boards."
  roi: false
  available: 2017-01-01
  viable: 2018-01-01
  complete: 2020-06-22
  lovable: 2020-10-22
  maturity: viable
  marketing: true
  acquisition_appetite: high
  priority_level: high
  body: |
    ## Visualize and manage work

    ### Manage backlog and team WIP

    * Collaboratively track the flow of work.
    * Prioritize backlog and manage overall work in progress (WIP).
    * Eliminate silos and enable cross-functional sharing.

    ### Flexible Boards

    * Visualize the status of work across the lifecycle.
    * Manage, assign and track the flow of work.
    * Tailor board layout to match your workflow.

time_tracking:
  name: "Time Tracking"
  stage: plan
  documentation: https://docs.gitlab.com/ee/user/project/time_tracking.html
  marketing_page: /solutions/time-tracking/
  direction: /direction/plan/time_tracking/
  description: "Estimate, track, and report on time spent on issues."
  roi: false
  available: 2016-11-22
  viable: 2018-01-01
  complete: 2020-06-22
  lovable: 2020-12-22
  maturity: viable
  marketing: true
  acquisition_appetite: medium
  priority_level: low

epics:
  name: "Epics"
  stage: plan
  feature_labels:
    - sub-epics
  marketing_page: /product/epics/
  documentation: https://docs.gitlab.com/ee/user/group/epics
  direction: /direction/plan/epics/
  description: "Plan upcoming work by creating Epics and mapping all relevant Issues to them. Create and track against multiple milestones at the portfolio level to see status overtime and review progress towards your goals"
  roi: false
  available: 2018-01-01
  viable: 2019-05-22
  complete: 2020-09-30
  lovable: 2021-09-30
  maturity: viable
  marketing: true
  acquisition_appetite: low
  priority_level: high
  body: |
    ## Plan and manage work between multiple groups and projects with Epics and Milestones

    ### Drive Alignment

    * Plan and deliver with clear objectives and timelines
    * Create and link multiple epics together to represent complex development plans
    * Map out time based delivery schedules and agile sprints with milestones

    ### Manage portfolio delivery

    * Communicate status and future changes
    * Prioritize epics to ensure alignment
    * Identify cross-project relationships
    * Track status and delivery

roadmaps:
  name: "Roadmaps"
  stage: plan
  marketing_page: /product/roadmaps/
  documentation : https://docs.gitlab.com/ee/user/group/roadmap/
  direction : /direction/plan/roadmaps/
  description: "Visually plan and map projects in a roadmap view which can be used for tracking and communication."
  roi: false
  available: 2018-01-01
  viable: 2020-12-30
  complete: 2021-06-30
  lovable: 2022-06-30
  maturity: minimal
  marketing: true
  priority_level: high
  acquisition_appetite: medium
  body: |
    ## Visualize your portfolio and manage its delivery with Dynamic Roadmaps

    ### All the Information you need in one view

    * View your work against a timeline with our beautiful roadmaps
    * See milestones, start and due dates, and map your epics within them
    * See dependencies between work, helping to identify blockers quickly
    * Track an epics progress by weight on the roadmap

    ### Customizable

    * Create multiple roadmaps and customize them to show the work you are interested in tracking
    * Build a roadmap for each level of visibility you need in your business
    * Filter by label, team, milestone, or even by individual

    ### Update in Real Time

    * Interact with your roadmap, updating milestones delivery dates, epic details, and even issues
    * Expand or collapse epics to show the sub-epics and issues contained within
    * Reorder epic priority by dragging and dropping it on the timeline

service_desk:
  name: "Service Desk"
  stage: plan
  documentation: https://docs.gitlab.com/ee/user/project/service_desk.html
  marketing_page: /product/service-desk/
  direction: /direction/plan/service_desk/
  description: "Connect your team using GitLab issues, to external parties directly via email for feedback and support, with no additional tools required."
  roi: false
  available: 2017-01-01
  viable: 2017-01-01
  complete: 2020-06-22
  lovable: 2020-12-22
  maturity: viable
  marketing: true
  acquisition_appetite: medium
  priority_level: low

requirements_management:
  name: "Requirements Management"
  stage: plan
  direction: /direction/plan/requirements_management/
  description: "Gather and manage the use cases and requirements to meet business objectives."
  roi: false
  available: 2020-02-22
  viable: 2020-12-22
  complete: 2021-06-22
  lovable: 2021-06-22
  maturity: planned
  marketing: true
  acquisition_appetite: medium
  priority_level: high

quality_management:
  name: "Quality Management"
  stage: plan
  direction: /direction/plan/quality_management/
  description: "Plan and track testing and quality of your product."
  roi: false
  available: 2020-06-22
  viable: 2020-12-22
  complete: 2021-06-22
  lovable: 2021-12-22
  maturity: planned
  marketing: true
  acquisition_appetite: medium
  priority_level: low

# Create

source_code_management:
  name: "Source Code Management"
  stage: create
  feature_labels:
    - diff
    - encoding
    - forking
    - image diff
    - lfs
    - merge requests
    - mirror
    - repository
  marketing_page: /product/source-code-management/
  documentation: https://docs.gitlab.com/ee/user/project/repository/
  direction: /direction/create/source_code_management/
  description: "Source code management enables coordination, sharing and collaboration across the entire software development team. Track and merge branches, audit changes and enable concurrent work, to accelerate software delivery."
  link: https://gitlab.com/users/sign_in
  link_description: "Sign up for GitLab.com"
  roi: true
  available: 2011-10-08
  viable: 2012-08-24
  complete: 2015-09-22
  lovable: 2017-03-22
  maturity: lovable
  marketing: true
  acquisition_appetite: low
  priority_level: high
  body: |
    ## Source code management is where development team sharing and collaboration begins

    Version control in GitLab helps your development team share, collaborate and maximize their productivity with world class source code management (SCM).  Leveraging the industry-leading, open source, distributed version control system Git, GitLab makes your developers more efficient, effective and responsive. Source code management is a critical part of the DevOPs lifecycle, allowing teams to manage their work with a single source of truth.

    ### Collaborate

    <table style="width:100%; border:0px">
    <tr>
      <td style="width:50%">
      <ul>
      <li>Review, comment, and improve each other’s code. </li>
      <li>Share code, enable re-use and ‘innersourcing’.</li>
      <li>File locking prevents conflicts.</li>
      <li>Robust WebIDE accelerates development on any platform.</li>
      </ul></td>
      <td rowspan="4"><img src="/images/feature_page/screenshots/56-web-ide.png"></td>
    </tr>
    </table>

    ### Accelerate
    <table style="width:100%; border:0px">
    <tr>
      <td style="width:50%">
      <ul>
      <li>Git based repository, enabling developers to work from their local copy of the code.</li>
      <li>Branch code, make changes and then quickly merge code.</li>
      <li>Built-in Continuous Integration (CI) and Continuous Delivery (CD) streamlines testing and delivery.</li>
      </ul></td>
      <td rowspan="4"><img src="/images/feature_page/screenshots/18-repo-graph.png"></td>
    </tr>
    </table>

    ### Compliant and Secure
    <table style="width:100%; border:0px">
    <tr>
      <td style="width:50%">
      <ul>
      <li>Review, track and approve code changes with powerful merge requests.</li>
      <li>Automatically scan for code quality and security with every commit.</li>
      <li>Simplify auditing and compliance with granular access controls and reporting.</li>
      </ul></td>
      <td rowspan="4"><img src="/images/feature_page/screenshots/46-mr-approvals.png"></td>
    </tr>
    </table>

    * Want to know where we're headed? [Learn about the future of Source Code Management](/blog/2018/09/21/create-vision/)

code_review:
  name: "Code Review"
  stage: create
  feature_labels:
    - approvals
  marketing_page: /product/code-review/
  documentation: https://docs.gitlab.com/ee/user/project/merge_requests/
  direction: /direction/create/code_review/
  description: "Review code, discuss changes, share knowledge, and identify defects in code among distributed teams via asynchronous review and commenting. Automate, track and report code reviews."
  link: https://gitlab.com/users/sign_in
  link_description: "Sign up for GitLab.com"
  roi: true
  available: 2011-12-20
  viable: 2013-08-13
  complete: 2017-03-22
  lovable: 2019-05-22
  maturity: lovable
  marketing: true
  priority_level: high
  acquisition_appetite: medium
  body: |
    ## Streamline code review and approvals

    Enable your development team to collaborate, review and improve their code.

    ### Collaborate

    * Review, comment, and improve each other’s code.
    * Approval workflow enables reviewing and approving changes.
    * Inline comments enable asynchronous review and feedback.

wiki:
  name: "Wiki"
  stage: create
  documentation: https://docs.gitlab.com/ee/user/project/wiki/
  direction: /direction/create/wiki/
  description: "Share documentation and organization information with a built in wiki."
  roi: false
  available: 2017-10-15
  viable: 2017-10-15
  complete:
  lovable: 2023-11-18
  maturity: viable
  marketing: true
  priority_level: low
  acquisition_appetite: medium

static_site_editor:
  name: "Static Site Editor"
  stage: create
  feature_labels:
    - category:static site editor
  documentation: https://docs.gitlab.com/ee/user/project/web_ide/index.html
  direction: /direction/create/static_site_editor/
  description: "Focused on building an amazing experience for editing and building static sites."
  roi: true
  available: 2020-04-22
  viable: 2020-06-22
  complete: 2021-06-22
  lovable: 2022-10-22
  maturity: planned
  marketing: true
  acquisition_appetite: high
  priority_level: medium

gitlab_handbook:
  name: "GitLab Handbook"
  stage: create
  feature_labels:
    - category:gitlab handbook
  documentation: https://about.gitlab.com/handbook/
  direction: /direction/create/gitlab_handbook/
  description: "Focused on improving the GitLab Handbook."
  roi: false
  marketing: false
  acquisition_appetite: low
  priority_level: medium

web_ide:
  name: "Web IDE"
  stage: create
  feature_labels:
    - web edit
  documentation: https://docs.gitlab.com/ee/user/project/web_ide/index.html
  direction: /direction/create/web_ide/
  description: "A full featured Integrated Development Environment (IDE) built into GitLab so you can start contributing on day one with no need to spend days getting all the right packages installed into your local dev environment."
  roi: true
  available: 2018-01-01
  viable: 2019-05-22
  complete: 2021-03-22
  lovable: 2023-11-18
  maturity: viable
  marketing: true
  acquisition_appetite: high
  priority_level: medium

snippets:
  name: "Snippets"
  stage: create
  documentation: https://docs.gitlab.com/ee/user/snippets.html
  direction: /direction/create/snippets/
  description: "Store and share bits of code and text with other users."
  roi: false
  available: 2017-01-01
  viable: 2020-05-22
  complete: 2020-11-22
  lovable: 2023-11-18
  maturity: minimal
  marketing: true
  acquisition_appetite: low
  priority_level: low

design_management:
  name: "Design Management"
  stage: create
  documentation: https://docs.gitlab.com/ee/user/project/issues/design_management.html
  direction: /direction/create/design_management/
  description: "Upload design assets to GitLab issues for easy collaboration on designs with a single source of truth."
  roi: false
  available: 2019-08-22
  viable: 2020-10-22
  complete:
  lovable: 2023-11-18
  maturity: minimal
  marketing: true
  acquisition_appetite: high
  priority_level: medium

gitter:
  name: Gitter
  stage: create
  direction: /direction/create/gitter/
  marketing_page: https://gitter.im/
  description: "Gitter is an open source instant messaging application for developers, and is the place to connect the open source and software development community."
  roi: false
  marketing: false
  acquisition_appetite: low
  priority_level: low

gitaly:
  name: Gitaly
  stage: create
  feature_labels:
    - Gitaly HA
    - Gitaly n+1
  documentation: https://gitlab.com/gitlab-org/gitaly
  direction: /direction/create/gitaly/
  description: "Gitaly is a Git RPC service for handling all the git calls made by GitLab."
  roi: false
  marketing: false
  acquisition_appetite: low
  priority_level: high

integrations:
  name: Integrations
  stage: create
  feature_labels:
    - external services
    - Jira
    - ServiceNow
    - Jenkins
    - Slack
    - Category:Integrations
  direction: /direction/ecosystem/integrations/
  documentation: https://docs.gitlab.com/ee/integration/
  description: "Integrations are places where the GitLab product connects to features and services from other products. These integrations seek to offer our customers a seamless experience between these products, and range from lightweight features like Slack notifications for projects, to deep and complex integrations with Atlassian JIRA that connect a wide array of functionality throughout the GitLab product."
  roi: false
  marketing: false
  maturity: viable
  available: 2017-01-01
  viable: 2018-01-22
  complete:
  lovable:

api:
  name: API
  stage: create
  documentation: https://docs.gitlab.com/ee/user/project/integrations/
  direction: /direction/ecosystem/api/
  description: "The GitLab API enables other products and services the ability to integrate with the GitLab product."
  roi: false
  marketing: true
  maturity: viable
  available: 2017-01-01
  viable: 2018-01-01
  complete: 2020-12-22
  lovable: 2021-12-22

gdk:
  name: GDK
  stage: create
  documentation: https://gitlab.com/gitlab-org/gitlab-development-kit
  direction: /direction/ecosystem/gdk/
  description: "GitLab Development Kit (GDK) provides a collection of scripts and other resources to install and manage a GitLab installation for development purposes."
  roi: false
  marketing: false
  maturity: viable
  available: 2017-01-01
  viable: 2018-01-01
  complete: 2020-12-22
  lovable: 2021-12-22

foundations:
  name: FE/UX Foundations
  stage: create
  documentation: https://design.gitlab.com
  direction: /direction/ecosystem/frontend-ux-foundations/
  description: "GitLab's design system ([Pajamas](https://design.gitlab.com/)) and our frontend architecture: webpack, [PWA](https://developers.google.com/web/progressive-web-apps) needs for improved mobile support, and more."
  roi: false
  marketing: false
  maturity: viable
  available: 2017-01-01
  viable: 2018-01-01
  complete: 2020-12-22
  lovable: 2021-12-22

# Verify

continuous_integration:
  name: "Continuous Integration (CI)"
  label: Category:Continuous Integration
  stage: verify
  feature_labels:
    - pipeline
  marketing_page: /product/continuous-integration/
  documentation: https://docs.gitlab.com/ee/ci/
  direction: /direction/verify/continuous_integration/
  description: "Gain the confidence to ship at blistering speed and immense scale with automated builds, testing, and out-of-the-box security to verify each commit moves you forward."
  roi: true
  available: 2017-01-01
  viable:
  complete: 2017-01-01
  lovable: 2017-01-01
  maturity: lovable
  marketing: true
  acquisition_appetite: low
  # body: |
  #   ![GitLab CI/CD](/images/ci/ci-cd-test-deploy-illustration_2x.png)
  #
  #   ## Simple to use
  #
  #     - GitLab CI comes built-in to GitLab's single DevOps application for a seamless experience.
  #     - Developers can self-service and easily collaborate with QA teams by working from versionable, configuration YAML file.
  #     - CI results appear together with code and comments in single place so you get one conversation thread with visibility into all the info you need to review, troubleshoot, and improve faster.
  #     - Seemless experience together with [GitLab CD release automation](/product/cd).
  #
  #   ## Rated #1 in the Forrester CI Wave™
  #
  #   ![Forrester CI Wave](/images/home/forrester-ci-wave-graphic.svg)
  #
  #   “GitLab supports development teams with a well-documented installation and configuration processes, an easy-to-follow UI, and a flexible per-seat pricing model that supports self service. GitLab’s vision is to serve enterprise-scale, integrated software development teams that want to spend more time writing code and less time maintaining their tool chain.” - Forrester CI Wave™
  #
  #   [Learn more](/resources/forrester-wave-ci-2017/){: .btn .cta-btn .accent}
  #
  #   ## Powerful capabilities
  #
  #     - **Multi-platform**: Execute builds on Unix, Windows, macOS, and any other platform that supports Go.
  #     - **Multi-language**: Build scripts are command line driven and work with Java, PHP, Ruby, C, and any other language.
  #     - **Stable**: Builds run on a different machine than GitLab.
  #     - **Parallel builds**: GitLab CI/CD splits builds over multiple machines, for fast execution.
  #     - **Realtime logging**: A link in the merge request takes you to the current build log that updates dynamically.
  #     - **Versioned tests**: A [.gitlab-ci.yml](https://docs.gitlab.com/ee/ci/yaml/) file that contains your tests, allowing everyone to contribute changes and ensuring every branch gets the tests it needs.
  #     - **Pipeline**: Define multiple jobs per stage and you can [trigger other builds](https://docs.gitlab.com/ee/ci/triggers/).
  #     - **Autoscaling**: [Automatically spin up and down VM's](/blog/2016/03/29/gitlab-runner-1-1-released/) to make sure your builds get processed immediately and minimize costs.
  #     - **Build artifacts**: Upload binaries and other build artifacts to GitLab and browse and download them.
  #     - **Test locally**: [Multiple executors](https://docs.gitlab.com/runner/executors/) let you [reproduce tests locally](https://gitlab.com/gitlab-org/gitlab-runner/issues/312).
  #     - **Docker support**: Use custom Docker images, spin up [services](https://docs.gitlab.com/ee/ci/services/) as part of testing, [build new Docker images](https://docs.gitlab.com/ee/ci/docker/using_docker_build.html), even run on [Kubernetes](/solutions/kubernetes/).
  #
  #   ## More information
  #
  #     - Read how to use GitLab CI in the [GitLab CI/CD documentation](https://docs.gitlab.com/ee/ci/)
  #     - View a [demo of GitLab CI/CD](https://www.youtube.com/watch?v=1iXFbchozdY)
  #     - [HumanGeo switched from Jenkins to GitLab and cut costs by 1/3](/blog/2017/11/14/humangeo-switches-jenkins-gitlab-ci/)
  #     - [Ticketmaster sped up build times by 15x with GitLab CI](/blog/2017/06/07/continous-integration-ticketmaster/)
  #     - View a step-by-step guide to [migrate from Jenkins to GitLab](https://www.youtube.com/watch?v=RlEVGOpYF5Y)
  #     - [Autoscale GitLab CI runners and save 90% on EC2 costs](/blog/2017/11/23/autoscale-ci-runners/)

runner:
  name: "GitLab Runner"
  label: "Category:Runner"
  documentation: https://docs.gitlab.com/runner/
  direction: /direction/verify/runner/
  stage: verify
  description: "GitLab Runner is the execution agent that is used to run your CI jobs and send the results back to GitLab."
  roi: false
  available: 2017-01-01
  viable:
  complete: 2017-01-01
  lovable: 2017-01-01
  maturity:
  acquisition_appetite: low

jenkins_importer:
  name: "Jenkins Importer"
  label: "Category:Jenkins Importer"
  direction: /direction/verify/jenkins_importer/
  stage: verify
  description: "The Jenkins Importer helps unblock teams from migrating to GitLab CI."
  roi: false
  available: 2020-04-22
  viable:
  complete:
  lovable:
  maturity:
  acquisition_appetite: low

code_quality:
  name: "Code Quality"
  documentation: https://docs.gitlab.com/ee/user/project/merge_requests/code_quality.html
  direction: /direction/verify/code_quality/
  stage: verify
  description: "Automatically analyze your source code to surface issues and see if quality is improving or getting worse with the latest commit."
  roi: false
  available: 2017-01-01
  viable: 2020-07-22
  complete: 2023-11-18
  lovable:
  maturity: minimal
  marketing: true
  acquisition_appetite: medium

code_testing:
  name: "Code Testing and Coverage"
  documentation: https://docs.gitlab.com/ee/ci/junit_test_reports.html
  direction: /direction/verify/code_testing/
  stage: verify
  description: "Code testing and coverage ensure that individual components built within a pipeline perform as expected, and are an important part of a Continuous Integration framework."
  roi: false
  available: 2017-01-01
  viable: 2020-07-22
  complete:
  lovable: 2023-11-18
  maturity: minimal
  marketing: true
  acquisition_appetite: medium

load_testing:
  name: "Load Testing"
  stage: verify
  direction: /direction/verify/load_testing/
  description: "Be confident in the performance of your changes by ensuring that they are validated against real world load scenarios."
  roi: false
  available: 2020-04-22
  viable:
  complete:
  lovable: 2023-11-18
  maturity: planned
  marketing: true
  acquisition_appetite: low

web_performance:
  name: "Web Performance"
  stage: verify
  documentation: https://docs.gitlab.com/ee/user/project/merge_requests/browser_performance_testing.html
  direction: /direction/verify/web_performance/
  description: "Ensure performance of your software in-browser using automated web performance testing."
  roi: false
  available: 2018-01-01
  viable: 2021-04-22
  complete:
  lovable: 2023-11-18
  maturity: minimal
  marketing: true
  acquisition_appetite: low

usability_testing:
  name: "Usability Testing"
  documentation: https://docs.gitlab.com/ee/ci/review_apps/#visual-reviews-starter
  direction: /direction/verify/usability_testing/
  stage: verify
  description: "Testing to ensure usability flows work and are actually understandable and valuable to your users."
  roi: false
  available: 2019-06-22
  viable: 2020-10-22
  complete: 2023-11-18
  lovable:
  maturity: minimal
  marketing: true
  acquisition_appetite: medium

accessibility_testing:
  name: "Accessibility Testing"
  stage: verify
  documentation: https://docs.gitlab.com/ee/user/project/merge_requests/accessibility_testing.html
  direction: /direction/verify/accessibility_testing/
  description: "Beyond being a compliance requirement in many cases, accessibility testing is the right thing to do."
  roi: false
  available: 2020-04-22
  viable:
  complete: 2023-11-18
  lovable:
  maturity: planned
  marketing: true
  acquisition_appetite: medium

# Package

package_registry:
  name: "Package Registry"
  stage: package
  documentation: https://docs.gitlab.com/ee/user/packages/
  direction: /direction/package/package_registry/
  description: |
    Every team needs a place to store their packages and dependencies. GitLab aims to provide a comprehensive solution, integrated into our single application, that supports package management for all commonly used languages and binary formats.
  roi: true
  available: 2018-01-01
  viable: 2020-01-22
  complete: 2021-04-22
  lovable: 2023-11-22
  maturity: viable
  marketing: true
  acquisition_appetite: low

container_registry:
  name: "Container Registry"
  stage: package
  documentation: https://docs.gitlab.com/ee/user/project/container_registry.html
  direction: /direction/package/container_registry/
  description: |
    A secure and private registry for Docker images built-in to GitLab. Creating, pushing, and retrieving images works out of the box with GitLab CI/CD.
  roi: true
  available: 2017-01-01
  viable: 2017-01-01
  complete: 2021-05-22
  lovable: 2023-11-22
  maturity: viable
  marketing: true
  acquisition_appetite: low

helm_chart_registry:
  name: "Helm Chart Registry"
  stage: package
  # TODO: Placeholder documentation to allow linting rule to be committed; replace with proper link
  documentation: https://about.gitlab.com/direction/package/helm_chart_registry
  direction: /direction/package/helm_chart_registry/
  description: |
    Kubernetes cluster integrations can take advantage of Helm charts to
    standardize their distribution and install processes. Supporting a built-in
    helm chart registry allows for better, self-managed container orchestration.
  roi: false
  available: 2020-01-22
  viable: 2020-11-22
  complete:
  lovable: 2023-11-18
  maturity: minimal
  marketing: true
  acquisition_appetite: medium

dependency_proxy:
  name: "Dependency Proxy"
  stage: package
  documentation: https://docs.gitlab.com/ee/user/group/dependency_proxy/
  direction: /direction/package/dependency_proxy/
  description: |
    The GitLab Dependency Proxy can serve as an intermediary between your local
    developers and automation and the world of packages that need to be fetched
    from remote repositories. By adding a security and validation layer to a
    caching proxy, you can ensure reliability, accuracy, and auditability for the
    packages you depend on.
  roi: false
  available: 2019-05-22
  viable: 2020-02-22
  complete: 2021-01-22
  lovable: 2023-11-22
  maturity: viable
  marketing: true
  acquisition_appetite: low

dependency_firewall:
  name: "Dependency Firewall"
  stage: package
  direction: /direction/package/dependency_firewall/
  description: |
    GitLab ensures that the dependencies stored in your package registries conform to your corporate compliance guidelines. This means you can prevent your organization from using dependencies that are insecure or out of policy.
  roi: false
  available: 2020-07-22
  viable:
  complete:
  lovable: 2023-11-22
  maturity: planned
  marketing: true
  acquisition_appetite: low

jupyter_notebooks:
  name: "Jupyter Notebooks"
  stage: package
  documentation: https://docs.gitlab.com/ee/user/project/repository/#jupyter-notebook-files
  direction: /direction/package/jupyter_notebooks/
  description: |
    Jupyter Notebooks are a common type of code used for data-science use cases. With GitLab you can store and version control those notebooks in the same
    way you store packages and application code.
  roi: false
  available: 2017-04-22
  viable: 2020-09-22
  complete:
  lovable:
  maturity: minimal
  marketing: true
  acquisition_appetite: low

git_lfs:
  name: "Git LFS"
  stage: package
  documentation: https://docs.gitlab.com/ee/administration/lfs/manage_large_binaries_with_git_lfs.html
  direction: /direction/package/git_lfs/
  description: |
    Git LFS (Large File Storage) is a Git extension, which reduces the impact of large files in your repository by downloading the relevant versions of
    them lazily. Specifically, large files are downloaded during the checkout process rather than during cloning or fetching.
  roi: false
  available: 2015-02-22
  viable: 2020-07-22
  complete:
  lovable:
  maturity: minimal
  marketing: true
  acquisition_appetite: low

# Secure

# application_security_testing:
#   name: "Application Security Testing"
#   stage: secure
#   description: "As part of Concurrent Devops, GitLab offers powerful security tools out of the box including static and dynamic application security testing, container and open source dependency scanning and license compliance. Test every merge request for security vulnerabilities so you can find mistakes earlier when they are less costly to resolve."
#   link: https://gitlab.com/users/sign_in
#   link_description: "Sign up for GitLab.com"
#   body: |
#     ## Fundamentally different

#     * Security issues reported directly in Pipelines and Merge Requests.
#     * One license cost for integrated security.
#     * Zero context switching to proactively secure applications.

#     ### Static Application Security Testing

#     * Performs static analysis on application source code and binaries.
#     * Spots potential vulnerabilities before deployment.
#     * Uses open source (defined on right) tools that are installed as part of GitLab.
#     * Vulnerabilities shown in-line with merge request.
#     * Results collected and presented as a single report.

#     ### Dependency scanning

#     * Analyzes external dependencies (e.g. libraries like Ruby gems).
#     * Shows vulnerable dependencies needing updating.
#     * Relies on open source tools and on the integration with Gemnasium technology (now part of GitLab).
#     * Vulnerabilities shown in-line with merge request.
#     * Results collected and available as a single report.

#     ### Container scanning

#     * Performs static analysis on Docker images to spot possible vulnerabilities in the application environment.
#     * Analyzes image contents against public vulnerability databases.
#     * Uses open source tool Clair that is able to scan any kind of Docker (or Appc) image.
#     * Vulnerabilities shown in-line with merge request.

#     ### Dynamic Application Security Testing

#     * Analyzes your running web application for known runtime vulnerabilities.
#     * Runs live attacks against a Review App* of the application.
#     * Users can provide HTTP credentials to test private areas.
#     * Current implementation uses open source tool ZAProxy, modified to add authentication capabilities.
#     * Vulnerabilities shown in-line with merge request.

#     ### [License Compliance](/product/license-compliance)

static_application_security_testing:
  name: "SAST"
  stage: secure
  documentation: https://docs.gitlab.com/ee/user/application_security/sast/
  direction: /direction/secure/static-analysis/sast/
  description: "Static Application Security Testing scans the application source code and binaries to spot potential vulnerabilities before deployment using open source tools that are installed as part of GitLab. Vulnerabilities are shown in-line with every merge request and results are collected and presented as a single report."
  roi: true
  available: 2018-01-01
  viable: 2019-03-22
  complete: 2021-01-22
  lovable: 2023-11-18
  maturity: viable
  marketing: true
  acquisition_appetite: high
  priority_level: high

dynamic_application_security_testing:
  name: "DAST"
  stage: secure
  documentation: https://docs.gitlab.com/ee/user/application_security/dast/
  direction: /direction/secure/dynamic-analysis/dast/
  description: "Dynamic Application Security Testing analyzes your running web application for known runtime vulnerabilities. It runs live attacks against a *Review App*, created for every merge request as part of the GitLab's CI/CD capabilities. Users can provide HTTP credentials to test private areas. Vulnerabilities are shown in-line with every merge request."
  roi: true
  available: 2018-01-01
  viable: 2019-04-22
  complete: 2021-01-22
  lovable: 2023-11-18
  maturity: viable
  marketing: true
  acquisition_appetite: medium
  priority_level: high

interactive_application_security_testing:
  name: "IAST"
  stage: secure
  direction: /direction/secure/dynamic-analysis/iast/
  documentation:
  description: "Interactive Application Security Testing checks runtime behavior of applications by instrumenting the code and checking for error conditions. It is composed by an agent that lives inside the application environment, and an external component, like DAST, that can interact and trigger unintended results."
  roi: false
  available: 2022-01-22
  viable:
  complete: 2024-11-18
  lovable:
  maturity: planned
  marketing: false
  acquisition_appetite: high
  priority_level: low

fuzz-testing:
  name: "Fuzz Testing"
  stage: secure
  direction: /direction/secure/fuzz-testing/fuzz-testing/
  documentation:
  description: "Fuzz testing increase chances to get results by using arbitrary payloads instead of well-known ones."
  roi: false
  available: 2020-07-22
  viable:
  complete: 2023-11-18
  lovable:
  maturity: planned
  marketing: true
  acquisition_appetite: high
  priority_level: high

dependency_scanning:
  name: "Dependency Scanning"
  stage: secure
  documentation: https://docs.gitlab.com/ee/user/application_security/dependency_scanning/
  direction: /direction/secure/composition-analysis/dependency-scanning/
  description: "Analyze external dependencies (e.g. libraries like Ruby gems) for known vulnerabilities on each code commit with GitLab CI/CD. This scan relies on open source tools and on the integration with Gemnasium technology (now part of GitLab) to show, in-line with every merge request, vulnerable dependencies needing updating. Results are collected and available as a single report."
  roi: true
  available: 2018-01-01
  viable: 2019-04-22
  complete: 2020-12-22
  lovable: 2023-11-18
  maturity: viable
  marketing: true
  acquisition_appetite: low
  priority_level: high

container_scanning:
  name: "Container Scanning"
  stage: secure
  documentation: https://docs.gitlab.com/ee/user/application_security/container_scanning/
  direction: /direction/secure/composition-analysis/container-scanning/
  description: "Check Docker images for known vulnerabilities in the application environment. Analyze image contents against public vulnerability databases using the open source tool, Clair, that is able to scan any kind of Docker (or App) image. Vulnerabilities are shown in-line with every merge request."
  roi: true
  available: 2018-01-01
  viable: 2019-05-22
  complete: 2021-12-22
  lovable: 2023-11-18
  maturity: viable
  marketing: true
  acquisition_appetite: medium
  priority_level: medium

license_compliance:
  name: "License Compliance"
  stage: secure
  documentation: https://docs.gitlab.com/ee/user/application_security/license_compliance/
  direction: /direction/secure/composition-analysis/license-compliance/
  description: "Upon code commit, project dependencies are searched for approved and blacklisted licenses defined by custom policies per project. Software licenses being used are identified if they are not within policy. This scan relies on an open source tool, LicenseFinder and license analysis results are shown in-line for every merge request for immediate resolution."
  roi: false
  available: 2018-01-01
  viable: 2020-01-22
  complete: 2021-11-22
  lovable: 2023-11-18
  maturity: viable
  marketing: true
  acquisition_appetite: medium
  priority_level: medium

secret_detection:
  name: "Secret Detection"
  stage: secure
  documentation: https://docs.gitlab.com/ee/user/application_security/sast/#secret-detection
  direction: /direction/secure/static-analysis/secret-detection/
  description: "Check for credentials and secrets in commits."
  roi: false
  available: 2019-03-22
  viable: 2020-07-22
  complete:
  lovable: 2023-11-18
  maturity: minimal
  marketing: true
  acquisition_appetite: low
  priority_level: medium

vulnerability_database:
  name: Vulnerability Database
  stage: secure
  direction: /direction/secure/vulnerability-research/vulnerability-database/
  description: "GitLab integrates access to proprietary and open-source application security scanning tools. In order to maintain the efficacy of those scans, we strive to keep their underlying vulnerability databases up-to-date."
  roi: false
  available:
  viable:
  complete:
  loveable:
  maturity: minimal
  marketing: false
  acquisition_appetite: high
  priority_level: high

security_benchmarking:
  name: Security Benchmarking
  stage: secure
  direction: /direction/secure/vulnerability-reseach/security-benchmarking
  description: "GitLab Secure stage benchmarking for measuring security effectiveness in detecting security findings."
  roi: false
  available:
  viable:
  complete:
  loveable:
  maturity: minimal
  marketing: false
  acquisition_appetite: low

attack_emulation:
  name: Attack Emulation
  stage: secure
  description: "Continuously assess your applications and services are not vulnerable to security threats through automated, real-world emulated scenarios to identify weaknesses in your attack surface"
  direction:
  roi: false
  available: 2022-01-22
  viable:
  complete:
  lovable: 2024-11-18
  maturity: planned
  marketing: false
  acquisition_appetite: high
  priority_level: low

malware_scanning:
  name: "Malware Scanning"
  stage: secure
  description: "Detect and protect projects from malware and other malicious code"
  direction:
  roi: false
  available: 2021-07-22
  viable:
  complete:
  lovable: 2023-11-18
  maturity: planned
  marketing: false
  acquisition_appetite: high
  priority_level: low

language_specific:
  name: Language-specific
  stage: secure
  roi: false
  marketing: false
  acquisition_appetite: low
  priority_level: high

pki_management:
  name: "PKI Management"
  stage: secure
  alt_link: /direction/secure/dynamic-analysis/pki-management/
  direction: /direction/secure/dynamic-analysis/pki-management/
  description: ""
  roi: false
  available: 2020-10-31
  viable:
  complete:
  lovable: 2023-11-18
  maturity: planned
  marketing: true
  acquisition_appetite: high
  priority_level: medium

# Defend

web_firewall:
  name: "WAF"
  stage: defend
  direction: /direction/defend/web_application_firewall/
  documentation: https://docs.gitlab.com/ee/user/clusters/applications.html#web-application-firewall-modsecurity
  description: "A Web Application Firewall (WAF) can examine traffic being sent to your web application and can detect then block malicious traffic before it reaches them.  The ModSecurity WAF is installed via Auto DevOps behind the ingress controller in your Kubernetes cluster.  It is configured by default to run the OWASP ModSecurity core ruleset."
  roi: false
  available: 2019-09-22
  viable:
  complete:
  lovable: 2024-05-22
  maturity: minimal
  marketing: true
  acquisition_appetite: high
  priority_level: medium

container_behavior_analytics:
  name: "Container Behavior Analytics"
  stage: defend
  description: "Detect and respond to security threats at the Kubernetes, network, and host level."
  direction: /direction/defend/container_behavior_analytics
  roi: false
  available: 2020-07-22
  viable:
  complete:
  lovable: 2023-11-18
  maturity: planned
  marketing: true
  acquisition_appetite: high
  priority_level: high

vulnerability_management:
  name: "Vulnerability Management"
  stage: defend
  description: "View, triage, trend, track, and resolve vulnerabilities detected in your applications."
  direction: /direction/defend/vulnerability_management/
  roi: false
  available: 2020-07-22
  viable:
  complete:
  lovable: 2023-11-18
  maturity: planned
  marketing: true
  acquisition_appetite: medium
  priority_level: high

container_network_security:
  name: "Container Network Security"
  stage: defend
  description: "Container network security allows the implementation of network policies in Kubernetes to detect and block unauthorized network traffic between pods and to/from the Internet. "
  direction: /direction/defend/container_network_security/
  documentation: https://docs.gitlab.com/ee/user/clusters/applications.html#install-cilium-using-gitlab-ci
  roi: false
  available: 2020-02-22
  viable: 2021-01-22
  complete:
  lovable: 2023-12-18
  maturity: minimal
  marketing: true
  acquisition_appetite: high
  priority_level: medium

behavior_analytics:
  name: "UEBA"
  stage: defend
  direction: /direction/defend/ueba/
  description: "User and Entity Behavior Analytics (UEBA) is a solution that uses machine learning and other technologies to detect, alert, and block on anomalous behavior by users and systems."
  roi: false
  available: 2020-07-22
  viable:
  complete: 2023-11-18
  lovable:
  maturity: planned
  marketing: true
  acquisition_appetite: high
  priority_level: high

responsible_disclosure:
  name: Responsible Disclosure
  stage: defend
  direction:
  roi: false
  description: "GitLab believes in responsibly disclosing software vulnerabilities. As such, GitLab is becoming an authorized provider of CVE IDs to researchers and information technology vendors.  We will be integrating CVE ID request solution which will be available within our Secure and Defend Categories."
  available:
  viable:
  complete:
  loveable: 2023-11-18
  maturity: planned
  marketing: false
  acquisition_appetite: high
  priority_level: low

# Release

continuous_delivery:
  name: "Continuous Delivery"
  marketing_page: /product/continuous-delivery/
  documentation: https://docs.gitlab.com/ee/ci/
  direction: /direction/release/continuous_delivery/
  stage: release
  description: "Deliver your changes to production with zero-touch software delivery; focus on building great software and allow GitLab CD to bring your release through your path to production for you."
  roi: true
  available: 2017-01-01
  viable: 2017-01-01
  complete: 2017-01-01
  lovable: 2020-04-22
  maturity: complete
  marketing: true
  acquisition_appetite: high

pages:
  name: "Pages"
  stage: release
  marketing_page: /product/pages/
  documentation: https://docs.gitlab.com/ee/user/project/pages/
  direction: /direction/release/pages/
  description: "Use any static site generator to create websites that are easily managed and deployed by GitLab."
  roi: false
  available: 2017-01-01
  viable: 2017-01-01
  complete: 2017-01-01
  lovable: 2023-11-18
  maturity: complete
  marketing: true
  acquisition_appetite: low

review_apps:
  name: "Review Apps"
  stage: release
  marketing_page: /product/review-apps/
  documentation: https://docs.gitlab.com/ee/ci/review_apps/
  direction: /direction/release/review_apps/
  description: "Get a full production like environment for every merge request that updates on each commit. See code running and enable user acceptance testing before you merge."
  roi: true
  available: 2017-01-01
  viable: 2017-01-01
  complete: 2017-01-01
  lovable: 2023-11-18
  maturity: complete
  marketing: true
  acquisition_appetite: low

merge_trains:
  name: "Merge Trains"
  documentation: https://docs.gitlab.com/ee/ci/merge_request_pipelines/pipelines_for_merged_results/merge_trains/
  direction: /direction/verify/merge_trains/
  stage: verify
  description: "Keeping master green and ensuring the stability of collaboration on branches is vitally important. GitLab has introduced Merge Trains as an important way to accomplish this."
  roi: true
  available: 2019-04-22
  viable: 2019-07-22
  complete:
  lovable:
  maturity: viable
  marketing: true
  acquisition_appetite: low

incremental_rollout:
  name: "Incremental Rollout"
  stage: release
  documentation: https://docs.gitlab.com/ee/topics/autodevops/index.html#incremental-rollout-to-production-premium
  direction: /direction/release/continuous_delivery/
  description: "Mitigate the risk of production deploys by deploying new production code to small subset of your fleet and then incrementally adding more."
  roi: false
  marketing: true
  acquisition_appetite: medium

feature_flags:
  name: "Feature Flags"
  stage: release
  documentation: https://docs.gitlab.com/ee/user/project/operations/feature_flags.html
  direction: /direction/release/feature_flags/
  description: "Feature flags enable teams to achieve CD by letting them deploy dark features to production as smaller batches for controlled testing, separating feature delivery from customer launch, and removing risk from delivery."
  roi: false
  available: 2018-10-22
  viable: 2019-03-22
  complete:
  lovable: 2023-11-18
  maturity: viable
  marketing: true
  acquisition_appetite: medium

release_orchestration:
  name: "Release Orchestration"
  stage: release
  direction: /direction/release/release_orchestration/
  documentation: https://docs.gitlab.com/ee/user/project/releases/
  description: "Management and orchestration of releases-as-code built on intelligent notifications, scheduling of delivery and shared resources, blackout periods, relationships, parallelization, and sequencing, as well as support for integrating manual processes and interventions."
  roi: false
  available: 2017-01-01
  viable: 2020-03-22
  complete: 2021-03-22
  lovable: 2023-11-22
  maturity: viable
  marketing: true
  acquisition_appetite: medium

release_evidence:
  name: "Release Evidence"
  stage: release
  direction: /direction/release/release_evidence/
  documentation: https://docs.gitlab.com/ee/user/project/releases/#release-evidence
  description: "Release Evidence includes features such as deploy-time security controls to ensure only trusted container images are deployed on Kubernetes Engine, and more broadly includes all the assurances and evidence collection that are necessary for you to trust the changes you're delivering."
  roi: false
  available: 2020-01-22
  viable: 2020-07-22
  complete: 2020-12-22
  lovable: 2022-05-22
  maturity: minimal
  marketing: true
  acquisition_appetite: low

secrets_management:
  name: "Secrets Management"
  stage: release
  direction: /direction/release/secrets_management/
  description: "Use HashiCorp Vault and GitLab to manage your GitLab secrets."
  documentation: https://docs.gitlab.com/ee/integration/vault.html
  roi: false
  available: 2019-12-22
  viable: 2020-07-22
  complete: 2020-10-22
  lovable: 2023-03-22
  maturity: minimal
  marketing: true
  acquisition_appetite: medium
  partnership_appetite: high

# Configure

auto_devops:
  name: "Auto DevOps"
  stage: configure
  marketing_page: /product/auto-devops/
  documentation: https://docs.gitlab.com/ee/topics/autodevops/
  direction: /direction/configure/auto_devops/
  description: "Commit your code and GitLab does the rest to build, test, deploy, and monitor automatically. Eliminate the complexities of getting going with automated software delivery by automatically setting up the pipeline and necessary integrations, freeing up your teams to focus on the culture part."
  roi: true
  available: 2017-09-22
  viable: 2019-12-22
  complete: 2021-10-22
  lovable: 2022-10-22
  maturity: viable
  marketing: true
  acquisition_appetite: medium
  priority_level: medium

kubernetes_management:
  name: "Kubernetes Management"
  stage: configure
  marketing_page: /solutions/kubernetes/
  documentation: https://docs.gitlab.com/ee/user/project/clusters/
  direction: /direction/configure/kubernetes_management/
  description: "Create and manage Kubernetes clusters with a few clicks. Install applications with a single click."
  roi: true
  available: 2018-01-01
  viable: 2019-07-22
  complete: 2021-01-22
  lovable: 2022-01-22
  maturity: viable
  marketing: true
  acquisition_appetite: high
  priority_level: high

chatops:
  name: "ChatOps"
  stage: configure
  direction: /direction/configure/chatops/
  documentation: https://docs.gitlab.com/ee/ci/chatops/
  description: "Tight integrations with Slack and Mattermost make it easy to manage and automate software development and delivery right from your chat app."
  roi: false
  available: 2018-01-01
  viable: 2023-11-18
  complete: 2023-11-18
  lovable:
  maturity: minimal
  marketing: true
  acquisition_appetite: medium
  priority_level: low

runbooks:
  name: "Runbooks"
  stage: configure
  documentation: https://docs.gitlab.com/ee/user/project/clusters/runbooks/
  direction: /direction/configure/runbooks/
  description: "Runbooks are a collection of documented procedures that explain how to carry out a particular process, be it starting, stopping, debugging, or troubleshooting a particular system. Executable runbooks allow operators to execute pre-written code blocks or database queries against a given environment."
  roi: false
  available: 2018-11-22
  viable: 2022-04-22
  complete: 2022-04-22
  lovable: 2023-11-18
  maturity: minimal
  marketing: true
  acquisition_appetite: medium
  priority_level: low

serverless:
  name: "Serverless"
  stage: configure
  marketing_page: /product/serverless/
  documentation: https://docs.gitlab.com/ee/user/project/clusters/serverless/
  direction: /direction/configure/serverless/
  description: "Run cloud-agnostic serverless workloads on Kubernetes, deployed via GitLab CI/CD."
  link: https://gitlab.com/users/sign_in
  link_description: "Sign up for GitLab.com"
  roi: false
  available: 2018-12-22
  viable: 2021-09-22
  complete: 2021-09-22
  lovable: 2023-11-18
  maturity: minimal
  marketing: true
  acquisition_appetite: medium
  priority_level: low

infrastructure_as_code:
  name: "Infrastructure as Code"
  stage: configure
  documentation: https://docs.gitlab.com/ee/user/infrastructure/
  direction: /direction/configure/infrastructure_as_code/
  description: "Manage your infrastructure effectively to create, configure, and manage a complete software development environment."
  roi: false
  available: 2019-09-01
  viable: 2020-04-22
  complete: 2021-01-22
  lovable: 2023-11-18
  maturity: minimal
  marketing: true
  acquisition_appetite: medium
  priority_level: high

chaos_engineering:
  name: "Chaos Engineering"
  stage: configure
  direction: /direction/configure/chaos_engineering/
  description: ""
  roi: false
  available: 2020-06-22
  viable: 2021-06-22
  complete: 2023-11-22
  lovable:
  maturity: planned
  marketing: true
  acquisition_appetite: medium
  priority_level: low

cluster_cost_optimization:
  name: "Cluster Cost Optimization"
  stage: configure
  direction: /direction/configure/cluster_cost_optimization/
  description: ""
  roi: false
  available: 2020-06-22
  viable: 2021-01-22
  complete: 2022-01-22
  lovable: 2023-11-18
  maturity: planned
  marketing: true
  acquisition_appetite: high
  priority_level: low

# Monitor

metrics:
  name: "Metrics"
  stage: monitor
  documentation: https://docs.gitlab.com/ee/user/project/integrations/prometheus.html
  direction: /direction/monitor/apm/metrics/
  description: "GitLab collects and displays performance metrics for deployed apps, leveraging Prometheus. Developers can determine the impact of a merge and keep an eye on their production systems, without leaving GitLab."
  roi: true
  available: 2017-01-01
  viable: 2019-05-22
  complete: 2020-05-22
  lovable: 2023-11-18
  maturity: viable
  marketing: true
  acquisition_appetite: medium
  priority_level: high

alert_management:
  name: "Alert Management"
  stage: monitor
  direction: /direction/monitor/debugging_and_health/alert_management/
  documentation: https://docs.gitlab.com/ee/user/project/integrations/generic_alerts.html
  description: "Consolidate all of your IT alerts in GitLab. Quickly triage and investigate problems by correlating alerts to relevant metrics, logs, traces, and errors. Elevate the critical ones to incidents for speedy resolution."
  roi: false
  available: 2020-05-22
  viable: 2020-08-22
  complete: 2021-01-22
  lovable: 2023-11-18
  maturity: planned
  marketing: true
  acquisition_appetite: low
  priority_level: high

incident_management:
  name: "Incident Management"
  stage: monitor
  direction: /direction/monitor/debugging_and_health/incident_management/
  documentation: https://docs.gitlab.com/ee/user/incident_management/index.html
  description: "Track incidents within GitLab, providing a consolidated location to understand the who, what, when, and where of the incident. Define service level objectives and error budgets, to achieve the desired balance of velocity and stability."
  roi: false
  available: 2019-05-22
  viable: 2019-10-22
  complete: 2021-01-22
  lovable: 2023-11-18
  maturity: viable
  marketing: true
  acquisition_appetite: low
  priority_level: high

logging:
  name: "Logging"
  stage: monitor
  documentation: https://docs.gitlab.com/ee/user/project/clusters/kubernetes_pod_logs.html#kubernetes-pod-logs-ultimate
  direction: /direction/monitor/apm/logging/
  description: "GitLab makes it easy to view the logs distributed across multiple pods and services using log aggregation with Elastic Stack. Once Elastic Stack is enabled, you can view your aggregated Kubernetes logs across multiple services and infrastructure, go back in time, conduct infinite scroll, and search through your application logs from within the GitLab UI itself."
  roi: false
  available: 2018-01-01
  viable: 2020-02-22
  complete: 2020-10-22
  lovable: 2023-11-18
  maturity: viable
  marketing: true
  acquisition_appetite: medium
  priority_level: medium

tracing:
  name: "Tracing"
  stage: monitor
  documentation: https://docs.gitlab.com/ee/user/project/operations/tracing.html
  direction: /direction/monitor/apm/tracing/
  description: "Tracing provides insight into the performance and health of a deployed application, tracking each function or microservice which handles a given request. This makes it easy to understand the end-to-end flow of a request, regardless of whether you are using a monolithic or distributed system."
  roi: false
  available: 2018-11-22
  viable: 2020-06-22
  complete: 2021-06-22
  lovable: 2023-11-18
  maturity: minimal
  marketing: true
  acquisition_appetite: medium
  priority_level: medium

self_monitoring:
  name: "GitLab Self-Monitoring"
  stage: monitor
  direction: /direction/monitor/self-monitoring/
  documentation: https://docs.gitlab.com/ee/administration/monitoring/gitlab_instance_administration_project/
  description: "Self-managed GitLab instances come out of the box with great observability tools, reducing the time and effort required to maintain a GitLab instance."
  roi: false
  marketing: false
  acquisition_appetite: low
  priority_level: low

error_tracking:
  name: "Error Tracking"
  stage: monitor
  documentation: https://docs.gitlab.com/ee/user/project/operations/error_tracking.html
  direction: /direction/monitor/debugging_and_health/error_tracking/
  description: "Error tracking allows developers to easily discover and view the errors that their application may be generating. By surfacing error information where the code is being developed, efficiency and awareness can be increased."
  roi: false
  available: 2018-12-22
  viable: 2020-02-22
  complete: 2021-01-22
  lovable: 2023-11-18
  maturity: viable
  marketing: true
  acquisition_appetite: medium
  partnership_appetite: high
  priority_level: low

digital_experience_management:
  name: "Digital Experience Management"
  stage: monitor
  direction: /direction/monitor/debugging_and_health/digital_experience_management
  description: "Digital experience management includes both real user monitoring (passive) and synthetics monitoring (active) to allow developers to detect problems in end-to-end workflows and understand real-world performance as experienced by users."
  roi: false
  available: 2020-07-22
  viable: 2020-10-22
  complete: 2021-10-22
  lovable: 2023-11-18
  maturity: planned
  marketing: true
  acquisition_appetite: medium
  priority_level: medium

status_page:
  name: "Status Page"
  stage: monitor
  direction: /direction/monitor/debugging_and_health/status_page/
  description: "Easily communicate the status of your services to users and customers."
  roi: false
  available: 2020-04-22
  viable: 2021-01-22
  complete: 2023-11-18
  lovable:
  maturity: planned
  marketing: true
  acquisition_appetite: medium

# Enablement

global_search:
  name: Global Search
  stage: enablement
  feature_labels:
    - elasticsearch
  description: "The Advanced Global Search in GitLab is a powerful search service that saves you time. Instead of creating duplicate code and wasting time, you can now search for code within other teams that can help your own project. GitLab leverages the search capabilities of Elasticsearch"
  direction: /direction/global-search/
  documentation: https://docs.gitlab.com/ee/user/search/advanced_global_search.html
  roi: false
  marketing: true
  available: 2016-01-22
  viable: 2019-06-22
  complete: 2020-07-22
  lovable: 2023-11-18
  maturity: viable
  acquisition_appetite: low

omnibus_package:
  name: Omnibus Package
  stage: enablement
  documentation: https://docs.gitlab.com/omnibus/
  description: Install a self-managed instance of GitLab using the Omnibus package.
  roi: false
  available: 2017-01-01
  lovable: 2018-01-01
  maturity: lovable
  marketing: true
  direction: /direction/distribution/omnibus/

cloud_native_installation:
  name: Cloud Native Installation
  stage: enablement
  documentation: https://docs.gitlab.com/ee/install/kubernetes/
  description: Install GitLab in a cloud native environment using Helm.
  roi: false
  available: 2018-08-22
  viable: 2019-03-22
  complete: 2020-07-22
  lovable: 2020-12-22
  maturity: viable
  marketing: true
  direction: /direction/distribution/cloud_native_installation/

backup_restore:
  name: "Backup/Restore of GitLab instances"
  stage: enablement
  direction: /direction/geo/backup_restore/
  documentation: https://docs.gitlab.com/ee/raketasks/backup_restore.html
  roi: false
  available: 2015-01-01
  viable: 2019-09-01
  complete: 2020-10-22
  lovable: 2023-11-18
  maturity: minimal
  marketing: false

geo_replication:
  name: "Geo-replication"
  stage: enablement
  feature_labels:
    - Geo Administration
    - Geo GA
    - Geo Next Gen
    - Geo Performance
    - Geo Replication/Sync
    - Geo Verification/Accuracy
    - "Geo : Automatic Verification"
    - "Geo : Kubernetes"
    - "Geo : Replication Lag Warning"
    - "Geo : Selective Sync"
  direction: /direction/geo/geo_replication/
  marketing_page: /solutions/geo/
  documentation: https://docs.gitlab.com/ee/administration/geo/replication/
  description: "Geo-replication provides an easily configurable, read-only mirror (we call it a Geo node) of a GitLab installation that is complete, accurate, verifiable and efficient."
  roi: false
  available: 2018-01-01
  viable: 2019-09-01
  complete: 2020-06-01
  lovable: 2023-11-18
  maturity: viable
  marketing: true

disaster_recovery:
  name: "Disaster Recovery"
  stage: enablement
  feature_labels:
    - Geo DR
  direction: /direction/geo/disaster_recovery/
  documentation: https://docs.gitlab.com/ee/administration/geo/disaster_recovery/
  description: "Disaster Recovery (DR) helps our customers fulfill their business continuity plans by creating processes that allow the recovery of GitLab following a natural or human-created disaster."
  roi: false
  available: 2018-01-01
  viable: 2020-04-22
  lovable: 2023-11-18
  maturity: minimal
  marketing: true

database:
  name: Database
  stage: enablement
  roi: false
  marketing: false

# Growth Section

# Telemetry Group

collection:
  name: Collection
  stage: growth
  direction: https://gitlab.com/groups/gitlab-org/-/epics/738
  description: "The structure(s) and platform(s) of how we collect Telemetry data. Currently, these consist of usage ping, Snowplow and version.gitlab.com."
  marketing: false
  maturity:

analysis:
  name: Analysis
  stage: growth
  description: "Manages GitLab's internal needs for an analysis tool that serves the Product department."
  roi: false
  available: #2017-01-01
  marketing: false
  maturity: minimal
