The Incubation Engineering Department within the Engineering Division focuses on projects that are pre-Product/Market fit. The projects they work on align with the term "new markets" from one of our product investment types. They are ideas that may contribute to our revenue in 3-5 years time. Their focus should be to move fast, ship, get feedback, and iterate. But first they've got to get from 0 to 1 and get something shipped.
We utilize Single-engineer Groups to draw benefits, but not distractions, from within the larger company and GitLab project to maintain that focus. The Single-engineer group encompasses all of product development (product management, engineering, design, and quality) at the smallest scale. They are free to learn from, and collaborate with, those larger departments at GitLab but not at the expense of slowing down unnecessarily.
The Department Head is the VP of Incubation Engineering.
The Incubation Engineering Department is new, and the focus for FY22 is to:
The initial iteration towards this Direction is covered in the FY22-Q2 Incubation Engineering Department OKRs.
The aim of the SEG's in the Incubation Engineering Department is to get ideas for new markets into the Viable category from our maturity framework. Ideas that we successfully incubate will become a stage or feature within the relevant areas of our product, with full Product, Engineering, UX and Infrastructure support for future development.
In some cases we may invest in an SEG and then decide to acquire an existing product or team in the same area. These situations are disruptive, but unavoidable, and we will work closely with the affected SEG to adapt.
In order to determine our investment into an SEG, we use the following assumptions:
For each of our Investment areas, we aim to showcase our progress on a weekly basis using the Engineering Demo Process. On the tracking issue for each area, each SEG should provide a status update and a link to a video of the current functionality by the end of each week. We should aim to develop a scorecard to help grade our progress against each of the key features we are trying to develop, and include this in our weekly update.
We do this in order to ensure alignment with impacted teams at GitLab, to provide opportunties for Collaboration from interested GitLab team members, community members, and users, and finally to demonstrate Results.
The key points to cover in each of our weekly updates are:
The MLOps Group will be focused on enabling data teams to build, test, and deploy their machine learning models. This will be net new functionality within GitLab and will bridge the gap between DataOps teams and ML/AI within production. MLOps will provide tuning, testing, and deployment of machine learning models, including version control and partial rollout and rollback.
The Monitor APM Group aims to integrate monitoring and observability into our DevOps Platform in order to provide a convenient and cost effective solution that allows our customers to monitor the state of their applications, understand how changes they make can impact their applications performance characteristics and give them the tools to resolve issues that arise.
This group is split into three APM's that will focus on each part of the architecture:
Collecting logs and traces from production systems.
Storing and querying APM data.
Charts and tables of APM data, with UX for querying and drilling down.
The 5 Minute Production App Group will look at our developer onboarding experience and how to make it easier for Web App developers to quickly get their application deployed to Production, and to have the re-assurance that it can scale when needed.
The Real-time Collaboration Group is gathering feedback on what merge requests and code review in GitLab may be in the future and how we can significantly decrease the cycle time, increase the efficiency of code review, and create better ways of collaborating through real-time experiences.
The Integrated Development Environment SEG will explore how we can increase customer usage and company revenue by delivering a cloud hosted development environment natively within GitLab.com.
The goal of the DevOps for Mobile Apps SEG is to improve the experience for Developers targeting mobile platforms by providing targeted CI/CD capabilities and workflows that improve the experience of provisioning and deploying mobile apps.
The Jamstack group aims to enable Front End developers to simplify their toolkit by using GitLab to manage, build, and deploy externally-facing, static websites using the Jamstack architecture.
We use the RICE Framework for prioritization of ideas.
|How many of our users, prospects, or customers will benefit from this feature.||Revenue, risk, or cost benefits to GitLab and our customers.||How well we understand the customer problem and our proposed solution.|
|How many months before we can launch an MVP to gather feedback (1 - 3).|
The total score is calculated by (Reach x Impact x Confidence) / Effort
The following table is driven by the relevant RICE labels on the issues themselves.
If you would like to propose a Single Engineer Group please reach to our VP of Incubation Engineering.
|Review apps as a service (without own Kubernetes Cluster)||Large||High||High||Medium||6.0|
|DevOps for Mobile Apps||Large||High||High||High||4.0|
|Implement cross-server (federated) merge requests||Large||High||Medium||High||3.2|
|1-1 and coaching platform||Large||Medium||High||Medium||3.0|
|Github1s and git peek||Large||Low||Medium||Low||2.4|
|Application Performance Monitoring (APM)||Significant||Massive||Medium||High||2.4|
|Speed up CI with incremental builds and tests (Bazel)||Significant||High||High||High||2.0|
|Failure Injection Testing (FIT) or Chaos as part of operations features||Large||Medium||High||High||2.0|
|Real-time editing of issue and merge request description||Large||High||Low||High||2.0|
|Exclusively use Service Desk||Large||Medium||High||High||2.0|
|Integrated Development Environment||Large||High||Low||High||2.0|
|Automate the transformation of a codebase into a build||Large||High||Low||High||2.0|
|Make the development experience on Kubernetes great||Large||High||Low||High||2.0|
|Database for Auto DevOps||Significant||High||Medium||High||1.6|
|MinIO Apache2 fork||Significant||Medium||Low||Low||1.5|
|PeopleOps tool - Talent management (recruiting in particular)||Large||Low||High||High||1.0|
|Quick testing feedback||Small||Low||High||Low||0.8|
|Other CI platforms (GPU, ARM, TPU, DPU)||Small||Medium||High||Medium||0.8|
|5 minute production app||Small||Low||High||Low||0.8|
|Make native applications for iOS and Android||Significant||Low||High||High||0.5|
|Warn about merge conflict immediately when you edit/commit||Small||Low||Medium||Medium||0.3|
|Auto suggest text||Small||Low||Medium||Medium||0.3|
|Pipelines that that let you start simple and then evolve|
|Machine learning to predict and offer next label to apply|
|See visual diff in review app|
|Render like BigPipe for better perceived performance|
|IDE / editor with a local editor via mirroring / sync|
|Use machine learning to automatically classify issues/MRs|
|Code to issue audit|
|Suggest edits to fix common errors detected by CI|
|Autocommit using auto-assigned approvers|
|Copy-on-write fuse filesystem|
|Run tests in the cloud, pre-commit from a client|
|Rebuild/update all containers|
|Allow pushing to multiple servers|
An AMA was held in May 2021.
You can also reach us on Slack at
#incubation-eng in Slack (GitLab internal)