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.
Our focus for FY23 in the Incubation Engineering Department is to ensure that we have a level of organisational maturity that allows us to repeatedly assess, validate, and deliver on ideas.
We should be able to demonstrate whether the ideas that we have been working on have met product/market fit in FY23 and look to graduate or reassign these groups. Our success is tied to the community of developers and users that can benefit from our features, and strong collaboration and engagement with those groups is a key focus for this year.
As our team matures, we need to be mindful of setting a culture of innovation and results. We do this through encouraging experimentation and autonomy, whilst being collaborative and transparent to internal teams and external stakeholders. The Incubation Engineering team is unique within GitLab in that the team members are not working on shared problems, but have the same challenges and shared experiences. We should ensure that successes and failures are documented and shared amongst team members to help each other grow and to minimise the inherent isolation and stress that can be part of this role.
In addition to the quarterly OKR's, our goals for the year are to:
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:
Reference:
A new market in our product roadmap is a long-term bet to help us expand our Serviceable Addressable Market (SAM) over a 3-5 year time horizon.
We look at areas that fit within our company mission that we currently do not service and have one or more competitors that have validated the customer need. Our criteria for entering these markets is that there is at least one competitor that is attaining over $100M annual recurring revenue, or at least 3 venture capital funded startups that have taken over $5M in funding. We track our understanding of these markets via this internal document.
We also manage projects that may not fit the above definition, but are well suited to the SEG model that we use as they require a degree of experimentation with significant risk of failure. These are significant defensive roadmap items that are important to work on to maintain our market share and competitive advantage in an area, but we cannot yet justify funding a larger R&D effort.
The Incubation Engineering Department is not suited to deliver regular roadmap items as they are typically smaller in effort, have less risk of failure, and have less scope for experimentation to determine product/user fit.
Key to the success of Incubation Engineering is the ability to iterate on ideas quickly and move on when we can't find customer traction. We should be able to ship ideas and grow their usage quickly.
Each project should be able to identify a vision and ship working code within the first month after inception, and then have regular monthly goals of continuing iteration and usage growth. SEGs that aren't well defined will require research to determine a direction. This research phase should include updates to the SEG handbook page, epics/issues, video update(s), and code where that makes sense. We should be aiming foremost for customer results, and not shipping features (even if they show usage) that don't demonstrate clear customer value.
Each SEG page has a list of the targets and progress for each month, and these should also be demonstrated in a monthly showcase.
Our key focus is to ship software, we do this Iteratively and Transparently in an Agile way, concentrating on having something that works as soon as possible that we can build upon.
For each of our Investment areas, we aim to showcase our progress 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. 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 the 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.
Around the 15th of the month each SEG should provide a short update video that covers the following key points:
At the end of the month, we should have a monthly showcase which demonstrates the current state of each project and future plans, and does not assume any prior knowledge of the progress or vision.
When uploading a video to our YouTube channel, we should:
YouTube Playlists
The Incubation Engineering department commits to and tracks quarterly Objectives and Key Results (OKRs).
See the list of Incubation Engineering OKRs in GitLab.
When an SEG is ready to be handed off to a product development group or other team inside GitLab, there will necessarily be some handover required. Product development groups who are going to be taking over the SEG can accelerate their work by borrowing the Incubation Engineer. This will allow full-time and continuous support for up to 3 milestones.
We use the RICE Framework for prioritization of ideas.
Reach |
Impact |
Confidence |
---|---|---|
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. |
|
|
|
Effort |
||
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.
R | I | C | E | Total | |
---|---|---|---|---|---|
Implement cross-server (federated) merge requests | Large | High | Medium | High | 3.2 |
Failure Injection Testing (FIT) or Chaos as part of operations features | Large | Medium | High | High | 2.0 |
Other CI platforms (GPU, ARM, TPU, DPU) | Small | Medium | High | Medium | 0.8 |
Rebuild/update all containers |
Incubation Engineering Key Performance Indicators
Incubation Engineering Projects and Issues
You can also reach us on Slack at #incubation-eng
in Slack (GitLab internal)
The Incubation Engineer's Playbook contains useful tips and tricks an Incubation Engineer may employ for SEG and project success.
From time-to-time Incubation Engineers get together to discuss and share ideas, learn from each other, and discuss the latest trends in the industry.
Details are logged in the Incubation Offsites page.
The Incubation Engineer's Playbook contains useful tips and tricks an Incubation Engineer may employ for SEG and project success.