Plan:Spec-Driven Development Engineering Team
Plan:Spec-Driven Development team
The Plan:Spec-Driven Development team works on GitLab’s Spec-Driven Development group in the Plan stage. Its label is ~“group::spec-driven development” and its Slack channel is #g_spec-driven-development.
Vision
Intent-to-Code is the vision for the Spec-Driven Development group. A person states what they want, and GitLab helps turn that into reviewed, working code.
Spec-driven development writes structured specifications before code and treats them as the source of truth for both people and AI. We keep the spec in the work item, so people and agents work from one source of truth for what to build, why, and how. Specs stay alive and change with the feature. The work item holds the intent, the discussion, the decisions, the plan, the status and the linked merge requests. Plan is where work is understood and agreed before code is written.
The workflow has a few steps:
- Refine the description to say what is needed and why.
- Generate a plan that says how.
- Keep a decision log.
- Resolve open questions together.
- Check that the work is ready.
- Show when an agent is working or waiting for input.
Each step can run with a person in the loop or on its own, depending on how much the team trusts the outcome.
People and agents split the work. People set the intent, the acceptance criteria and the guardrails, make the consequential decisions and own the outcome. Agents gather context, refine requirements, draft plans, write code and tests, and review the result against the plan.
This is the entry point to GitLab’s Software Factory direction. Instead of people coordinating every change by hand, agents run the delivery loop and people govern it and stay in control of approvals.
What we work on
The group owns the planning layer on work items that lets a work item be handed to an AI agent. It has no categories of its own in the product categories list.
- Workplan on work items, the plan that says how the work will be done. See the user docs.
- The decision log, a record of decisions on a work item.
- Readiness, which shows whether a work item is ready for an agent to run.
- The flow that hands a ready work item to Duo Developer.
Design documents
The design document describes the Workplan and its supporting features.
- Workplan: the widget that stores the plan.
- Decision log: the widget for structured decisions.
- Readiness: how ready a work item is for agent execution.
- Async workplan flow: background research, planning, and readiness scoring.
- Human in the loop: clarifying questions, decisions, and resuming the flow.
- Downstream consumers: how Duo Developer uses the plan. Duo Review validation is deferred.
- Work item to merge request relationship: the two-way link SDD needs.
- Testing and feedback: dogfooding and usage measurement.
Team members
| Name | Role |
|---|---|
Alexandru Croitor
|
Engineering Manager, Plan:Spec-Driven Development and Plan:Work Items |
Jorge Tomás
|
Backend Engineer, Plan:Spec-Driven Development |
Kushal Pandya
|
Senior Frontend Engineer, Plan:Spec-Driven Development |
Stefanos Xanthopoulos
|
Backend Engineer, Plan:Spec-Driven Development |
Vanessa Otto
|
Staff Frontend Engineer, Plan:Spec-Driven Development |
Stable counterparts
| Name | Role |
|---|---|
Heinrich Lee Yu
|
Principal Engineer, Plan |
Nick Brandt
|
Senior Product Designer, Plan:Spec-Driven Development |
Natalia Tepluhina
|
Principal Engineer, Plan |
Technical Writer is Brendan Lynch.
How we work
The group shares its Engineering Manager with Plan:Work Items, so the process on the Work Items team page applies here. The Plan stage page covers the stage-wide workflow.
Useful links
- Issues labeled
group::spec-driven development - #g_spec-driven-development in Slack
- Plan Stage - Intent-to-Code epic
- Design documents
- Group wiki (internal)
- Benchmark dashboard project (internal)
0259db05)
Alexandru Croitor
Jorge Tomás
Kushal Pandya
Stefanos Xanthopoulos
Vanessa Otto
Heinrich Lee Yu
Nick Brandt
Natalia Tepluhina