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.
- The readiness score (called the confidence score in the docs), which shows whether a plan is ready for an agent to run.
- The flow that hands a ready work item to Duo Developer and Duo Review.
Design documents
The design document uses the name “Agent plan” for what the product calls Workplan.
- Work plan: the widget that stores the plan.
- Decision log: the widget for structured decisions.
- Scoring: the readiness score.
- Memory: project context and memory injected into plan generation.
- Interactive builder: the Duo Chat and live preview UI for iterating on output.
- Downstream consumers: how Duo Developer and Duo Review use the plan.
- Work item to merge request relationship: the two-way link SDD needs.
- Test scenarios: testing requirements.
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 |
|---|---|
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 |
Gabe Weaver
|
Senior Product Manager, Plan:Spec-Driven Development, Plan:Work Items, Plan:Planning Views, and Plan:Portfolio Planning |
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)
c34bca60)
Alexandru Croitor
Jorge Tomás
Kushal Pandya
Stefanos Xanthopoulos
Vanessa Otto
Costel Maxim
Gabe Weaver
Heinrich Lee Yu
Nick Brandt
Natalia Tepluhina