The following 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.
Last Updated: 2023-01-24
This is the direction page for the Certify Group, which is part of the Plan stage of the DevOps life cycle. Certify Group is responsible for the following categories:
Category | Direction | Description | Maturity |
---|---|---|---|
Requirements Management | See the Requirements Management section | Manage functional requirements within GitLab | minimal |
Quality Management | See the Quality Management section | Manage and trace test cases within GitLab | minimal |
Person | Role |
---|---|
Matthew Macfarlane | Product Manager, Plan Stage, Certify Group |
Dan Mizzi-Harris | Product Designer, Plan:Certify |
Marcin SΔdΕak-Jakubowski | Technical Writer, Plan |
Charlie Ablett | Senior Backend Engineer, Plan:Certify |
Costel Maxim | Senior Security Engineer, Application Security, Plan (Project Management, Product Planning, Certify), Create:Source Code, Growth, Fulfillment:Purchase, Fulfillment:Provision, Fulfillment:Utilization, Systems:Gitaly |
Felipe Artur | Senior Backend Engineer, Plan:Certify |
Jarka KoΕ‘anovΓ‘ | Fullstack Engineering Manager, Plan:Certify |
John Hope | Senior Manager, Engineering, Plan |
Nick Malcolm | Senior Security Engineer, Application Security, Manage (Compliance, Import), Plan (Optimize), Data Science (AI Assisted, Anti-Abuse, MLOps, DataOps) |
Natalia Tepluhina | Principal Engineer, Plan |
Rudy Crespo | Frontend Engineer, Plan:Certify |
Melissa Ushakov | Group Manager, Product Management, Plan and Ecosystem |
What: For 15.8 Certify Group continues its migration of existing Requirements Management capabilities to a Work Item type via deprecating the legacy Requirement IID, using the archive work item GraphQL query to archive Requirements in Requirements UI, and showing the new IID in the existing list view for Requirements.
Why: Our migration of Requirements to a Work Item type allows a more consistent and integrated experience in GitLab's enterprise level planning framework. This integrated experience is core to the Plan Stage Mission of empowering teams to continuously deliver customer and business value with the shortest possible cycle times.
Certify Group encapsulates both Requirements and Quality Management. The following is a breakdown of our current effort spent on each category and why.
Requirements Management is a critical process to ensure certain features or behaviors are satisfactorily and properly measured against their requirements. At GitLab we believe we can create a positive experience for our customers by creating a robust Requirements Management feature set directly within the platform, rather than via external tooling such as Jama Software, IBM DOORS, or Modern Requirements.
Our journey toward creating a competitive Requirements Management toolset begins with migrating existing requirements functionality from an independent object to a general Work Item type, which is part of a broader initiative in the Plan Stage to create greater continuity between Work Item types (such as Requirements, Issues, Epics, and Tasks). This will allow customers to integrate requirements directly into their development process.
Quality Management is the basis of testing and verifying features and behaviors against requirements. Given its interconnectiveness with Requiremens Management this category naturally fits under the Certify Group umbrella.
Our early focus in Quality Management is around tracing requirements to test cases in both a manual and automated fashion, creating more robust test case and test session capabilities, and allowing more traceability in the way in which requirements are audited.
Allocation of 15% capacity is set as of 2023-01-03 as Quality Management maturity requires Requirements Management capabilities to first be transitioned to a Work Item type.
The Certify Group aims to provide capabilities to allow requirements based development and testing within GitLab. The belief is that bringing requirements and traceability within GitLab will yield less context switching for our users, and provide increased productivity.
One of the most time consuming aspects of requirements based development is providing traceability between source code, testing, and design. This often requires switching between multiple tools, and manually inputting and updating traced artifacts during code updates and test runs. Our aim is to start with the Software Developer and Software Engineering in Test personas, with the goal of solving their immediate frustrations.
At present, both Quality Management and Requirements Management categories are considered at minimal maturity.
It is our belief that solving the following three fundamental problems will bring both the Requirements Management and Quality Management capabilities to viable maturity.
Status | Complete - Both Requirements and test cases can be created and managed within GitLab |
It is our fundamental belief that for maximum efficiency and reduced cycle time, users should be able to complete their jobs to be done in a single cohesive application. This reduces the overall mental strain of switching between applications, but also allows for automation which can reduce manual steps.
Status | In Progress - We aim to build on top of the current work item initiative provide bi-directional linking between requirements, test cases, and other Work Item types. |
The intention of requirements based development is to provide traceability between the requirements, and the other product artifacts such as code, design, and test cases. If this traceability is not provided within GitLab, then external tooling will be necessary which reduces productivity.
Status | In Progress - It is possible to satisfy requirements from automated CI/CD pipelines within GitLab. Please check out our Walk-through of Requirements Traceability within GitLab. |
We would like to extend this functionality to provide additional methods for linking requirements to test cases.
Once Certify is a viable option for the Software Developer and Software Engineering in Test personas, we plan to continue iterating as follows:
Maturity | Minimal |
Documentation Link | Requirements Management |
Requirements Management enables documenting, tracing, and control of changes to agreed-upon requirements in a system. Our strategy is to make it simple and intuitive to create and trace your requirements throughout the entire Software DevOps lifecycle.
We believe we can reduce the friction associated with managing requirements by tying it directly into the tools that a team uses to plan, create, integrate, and deploy their products. This can also provide real-time traceability and remove the need to track requirements across many disparate tools.
It is often necessary to specify behaviors for a system or application. Requirements Management is a process by which these behaviors would be captured so that there is a clearly defined scope of work. A good general overview is provided in an article from PMI. For less restrictive environments, Requirements Management can take the form of jobs to be done (JTBD) statements, which are satisfied through iterative improvements or additional features.
Requirements management tools are often prescriptive in their process, requiring users to modify their workflows to include traceability. Our goal is to allow for such rigid process where required, but remove these barriers for organizations looking to achieve the process improvements offered by working with requirements in a less formal manner.
Regulated industries often have specific standards which define their development life-cycle. For example, commercial software-based aerospace systems must adhere to RTCA DO-178C, Software Considerations in Airborne Systems and Equipment Certification. While this document covers all phases of the software development life cycle, the concept of traceability (defined as a documented connection) is utilized throughout. This connection must exist between the certification artifacts.
The most common trace paths needed are as follows:
It is important to recognize that all artifacts must be under revision control.
During audits, teams are asked to demonstrate traceability from the customer specification through all downstream, version-controlled artifacts. Teams are often asked to analyze a change in a system level requirement, assessing exactly which downstream artifacts will need to be modified based on that change.
Further research has shown that many other regulated industries have similar process requirements, such as those in the medical, financial, and automative.
Maturity | Planned |
Documentation Link | Test Cases |
Many organizations manage quality through both manual and automated testing. This testing is organized by test cases. These test cases can be run in different combinations and against different environments to create test sessions. Our goal for Quality management in GitLab is to allow for uses to track performance of test cases against their different environments over time, allowing for analysis of trends and identifying critical failures prior to releasing to production.
We have performed a Solution Validation for the Quality Management MVC.
The Requirements and Quality Management software fields are full of well-rounded and mature vendors, including long-standing solutions like IBM DOORS, and newer solutions pushing the boundaries of the fields like Jama, Modern Requirements, and Xray. As a buyer, it can be challenging to navigate Why one vendor is a better solution than another. Here are the reasons Why we believe GitLab can be the standout tool, and your tool of choice, in these areas:
Requirements Management Category Best In Class Competitor
Top 3 Competitors
Key Features for Comparison
GitLab vs Jama/IBM DOORS/and Modern Requirements
Feature | GitLab | Jama |
---|---|---|
Live Traceability | π¨ | π© |
Requirements Workflow Management | π© | π© |
Real-Time Collaboration on Requirements | π© | π© |
Multi-Level Hierarchies for Requirements | β¬οΈ | π© |
Native Requirements Authoring Assistance | β¬οΈ | π© |
Requirement Reporting | β¬οΈ | π© |
Customizable Requirement Status' | π¨ | π© |
Built-in Test Management Center | π¨ | π© |
Multi-format Import and Export Capabilities | β¬οΈ | π© |
Templated and/or Reusable Requirements | β¬οΈ | π© |
Full DevSecOps Platform Solution | π© | β¬οΈ |
Feature | GitLab | IBM DOORS |
---|---|---|
Live Traceability | π¨ | π© |
Requirements Workflow Management | π© | π© |
Real-Time Collaboration on Requirements | π© | π© |
Multi-Level Hierarchies for Requirements | β¬οΈ | π© |
Native Requirements Authoring Assistance | β¬οΈ | β¬οΈ |
Requirement Reporting | β¬οΈ | π© |
Customizable Requirement Status | π¨ | Unknown |
Built-in Test Management Center | π¨ | π© |
Multi-format Import and Export Capabilities | β¬οΈ | π© |
Templated and/or Reusable Requirements | β¬οΈ | π© |
Full DevSecOps Platform Solution | π© | β¬οΈ |
Feature | GitLab | Modern Requirements |
---|---|---|
Live Traceability | π¨ | π© |
Requirements Workflow Management | π© | π© |
Real-Time Collaboration on Requirements | π© | π© |
Multi-Level Hierarchies for Requirements | β¬οΈ | π© |
Native Requirements Authoring Assistance | β¬οΈ | π© |
Requirement Reporting | β¬οΈ | π© |
Customizable Requirement Status' | π¨ | π© |
Built-in Test Management Center | π¨ | Unknown |
Multi-format Import and Export Capabilities | β¬οΈ | π© |
Templated and/or Reusable Requirements | β¬οΈ | π© |
Full DevSecOps Platform Solution | π© | β¬οΈ |
Quality Management Category Best In Class Competitor
Top 3 competitors
Key Features to Compare Against
GitLab vs Xray/TestRail/ and PractiTest
Feature | GitLab | Xray |
---|---|---|
Requirement and User Stories Management | π© | π¨ |
Test Case Management | π¨ | π© |
Test Sets, Sessions, Suites, and Execution Management | π¨ | π© |
Customizable Workflow, Fields, and Filters | π¨ | π© |
Test Dashboard and Reporting | β¬οΈ | π© |
Ability to Import and Export Test Data | β¬οΈ | π© |
Test Search Capacity within Solution | π¨ | π© |
Cloud and On-Prem Solution π© | π© | π© |
Test Library | π¨ | π© |
Full DevSecOps Platform Solution | π© | β¬οΈ |
Feature | GitLab | TestRail |
---|---|---|
Requirement and User Stories Management | π© | π¨ |
Test Case Management | π¨ | π© |
Test Sets, Sessions, Suites, and Execution Management | π¨ | π© |
Customizable Workflow, Fields, and Filters | π¨ | π© |
Test Dashboard and Reporting | β¬οΈ | π© |
Ability to Import and Export Test Data | β¬οΈ | π¨ |
Test Search Capacity within Solution | π¨ | π© |
Cloud and On-Prem Solution π© | π© | π© |
Test Library | π¨ | π© |
Full DevSecOps Platform Solution | π© | β¬οΈ |
Feature | GitLab | PractiTest |
---|---|---|
Requirement and User Stories Management | π© | π© |
Test Case Management | π¨ | π© |
Test Sets, Sessions, Suites, and Execution Management | π¨ | π© |
Customizable Workflow, Fields, and Filters | π¨ | π© |
Test Dashboard and Reporting | β¬οΈ | π© |
Ability to Import and Export Test Data | β¬οΈ | π¨ |
Test Search Capacity within Solution | π¨ | π© |
Cloud and On-Prem Solution π© | π© | β¬οΈ |
Test Library | π¨ | π© |
Full DevSecOps Platform Solution | π© | β¬οΈ |