You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: learn-pr/wwl-azure/spec-driven-development-github-spec-kit-greenfield-intro/2-what-spec-driven-development.yml
Copy file name to clipboardExpand all lines: learn-pr/wwl-azure/spec-driven-development-github-spec-kit-greenfield-intro/includes/2-what-spec-driven-development.md
+3-3Lines changed: 3 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -32,11 +32,11 @@ Essentially, *the spec becomes the code's single source of truth*. In SDD, the s
32
32
33
33
Three trends make SDD not just possible but necessary:
34
34
35
-
**AI capabilities have crossed a critical threshold**. Natural language specifications can now reliably generate working code. This achievement isn't about replacing developers - it's about amplifying their effectiveness by automating the mechanical translation from specification to implementation. It can amplify exploration and creativity, support "start-over" easily, and support addition, subtraction, and critical thinking.
35
+
-**AI capabilities have crossed a critical threshold**. Natural language specifications can now reliably generate working code. This achievement isn't about replacing developers - it's about amplifying their effectiveness by automating the mechanical translation from specification to implementation. It can amplify exploration and creativity, support "start-over" easily, and support addition, subtraction, and critical thinking.
36
36
37
-
**Software complexity continues to grow exponentially**. Modern systems integrate dozens of services, frameworks, and dependencies. Keeping all these pieces aligned with original intent through manual processes becomes increasingly difficult. SDD provides systematic alignment through specification-driven generation.
37
+
-**Software complexity continues to grow exponentially**. Modern systems integrate dozens of services, frameworks, and dependencies. Keeping all these pieces aligned with original intent through manual processes becomes increasingly difficult. SDD provides systematic alignment through specification-driven generation.
38
38
39
-
**The pace of change accelerates**. Requirements shift far more rapidly today than ever before. Pivoting is no longer exceptional - it's expected. Modern product development demands rapid iteration based on user feedback, market conditions, and competitive pressures.
39
+
-**The pace of change accelerates**. Requirements shift far more rapidly today than ever before. Pivoting is no longer exceptional - it's expected. Modern product development demands rapid iteration based on user feedback, market conditions, and competitive pressures.
40
40
41
41
Traditional development treats requirement changes as disruptions. Each pivot requires manually propagating changes through documentation, design, and code. The result is either slow, careful updates that limit velocity, or fast, reckless changes that accumulate technical debt.
Copy file name to clipboardExpand all lines: learn-pr/wwl-azure/spec-driven-development-github-spec-kit-greenfield-intro/includes/3-examine-spec-driven-development-principles-processes.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,6 +1,6 @@
1
1
The spec-driven development (SDD) methodology provides a phased approach to software development that emphasizes clarity, structure, and adaptability. By breaking down the development process into four distinct phases—Specify, Plan, Tasks, and Implement—SDD ensures that each step is well-defined and builds upon the previous one. This structured workflow not only enhances communication among stakeholders but also allows for continuous refinement and adaptation of the software being developed.
2
2
3
-
## SDD workflow overview
3
+
## Workflow phases in spec-driven development
4
4
5
5
The SDD workflow transforms an idea into working code through four distinct phases. Each phase builds on the previous one, creating a clear progression from vision to execution. Think of it as a structured progression where each step has a clear output that feeds into the next.
6
6
@@ -31,7 +31,7 @@ A key aspect of SDD is that each phase has a validation step before moving forwa
31
31
32
32
This structured progression is what gives SDD its reliability.
33
33
34
-
## Living artifacts
34
+
## Specifications as living artifacts
35
35
36
36
Unlike static requirements documents that are created once and gradually become outdated, SDD outputs are **living artifacts** that can evolve. The spec might get updated as you learn new information, and then you'd adjust the plan and tasks accordingly.
Copy file name to clipboardExpand all lines: learn-pr/wwl-azure/spec-driven-development-github-spec-kit-greenfield-intro/includes/4-compare-spec-driven-development-other-methodologies.md
+26-12Lines changed: 26 additions & 12 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -17,7 +17,9 @@ The following table summarizes key differences between SDD and other common meth
17
17
18
18
Waterfall methodology emphasizes comprehensive upfront planning with requirements, design, implementation, testing, and deployment flowing sequentially. A requirements specification is written once at the beginning and often becomes stale as development progresses over months or years.
19
19
20
-
**Key differences:**
20
+
### Key differences between SDD and Waterfall
21
+
22
+
There are several important distinctions between Waterfall and SDD:
21
23
22
24
-**Specification lifecycle:** In Waterfall, the requirements document is a phase artifact that's created and then left behind. In SDD, the spec is continuously used and updated; it directly generates implementations rather than being just a phase document.
Agile methodologies value "working software over comprehensive documentation," which might seem at odds with SDD's specification focus. However, the two approaches share more than you might expect.
33
35
34
-
**Key differences:**
36
+
### Key differences between SDD and Agile/Scrum
37
+
38
+
There are key distinctions between Agile/Scrum and SDD:
35
39
36
40
-**Documentation philosophy:** Agile often minimizes documentation in favor of direct communication and working code. SDD doesn't mean writing a massive spec and never changing it - rather, any given increment (even within a sprint) starts with a clear spec and plan that can evolve.
37
41
@@ -45,43 +49,53 @@ Agile methodologies value "working software over comprehensive documentation," w
45
49
46
50
TDD drives development by writing tests first. You begin by creating a failing test. Then you write code to pass the test. Finally, you refactor the code as needed. This red-green-refactor cycle guides design at the unit level.
47
51
48
-
**Key differences:**
52
+
### Key differences between SDD and TDD
53
+
54
+
There are several important distinctions between TDD and SDD:
49
55
50
56
-**Level of abstraction:** TDD operates at a low level (unit tests), whereas SDD works at a higher requirements level. TDD tests individual functions; SDD specifications describe complete features.
51
57
52
58
-**Primary driver:** In TDD, tests drive the design. In SDD, the specification drives design and code. Both use "something before code" to guide development, but that something differs in scope.
53
59
54
60
-**Role of acceptance criteria:** In SDD, the spec itself plays a role similar to a "super-test" by defining acceptance criteria for all functionality. Tasks in SDD function like guides for the AI - each task is small and verifiable, almost like an acceptance test the AI aims to satisfy.
55
61
56
-
**Where they align:** Both methodologies encourage thinking about outcomes before writing implementation code. Both produce artifacts that can be verified.
62
+
### Where SDD and TDD align
63
+
64
+
Both methodologies encourage thinking about outcomes before writing implementation code. Both produce artifacts that can be verified.
57
65
58
-
**How they complement:** TDD and SDD aren't mutually exclusive. You can use SDD to produce a clear direction and still use TDD within implementation for code quality. SDD can even generate test specifications as part of the tasks phase, which developers then implement using TDD practices.
66
+
### How SDD and TDD complement each other
67
+
68
+
TDD and SDD aren't mutually exclusive. You can use SDD to produce a clear direction and still use TDD within implementation for code quality. SDD can even generate test specifications as part of the tasks phase, which developers then implement using TDD practices.
59
69
60
70
## SDD vs. Behavior-Driven Development (BDD)
61
71
62
72
BDD focuses on user behavior using Given-When-Then scenarios to drive development. These scenarios become automated tests that developers satisfy with code.
63
73
64
-
**Key differences:**
74
+
### Key differences between SDD and BDD
65
75
66
76
-**Execution model:** BDD results in automated tests that developers then write code to satisfy. SDD's spec and plan result in tasks and code generated with AI assistance.
**Where they align:** Both put requirements first and focus on the "what and why" before implementation. Both emphasize understanding user needs before coding.
80
+
### Where SDD and BDD align
81
+
82
+
Both put requirements first and focus on the "what and why" before implementation. Both emphasize understanding user needs before coding.
83
+
84
+
### How SDD and BDD complement each other
71
85
72
-
**How they complement:**You can integrate BDD-style scenarios into the SDD spec - for example, listing Gherkin scenarios as part of requirements. The AI could use those scenarios to validate the implementation if tests are generated as part of the tasks. This combination gives you the best of both worlds: precise behavioral specifications and AI-accelerated implementation.
86
+
You can integrate BDD-style scenarios into the SDD spec - for example, listing Gherkin scenarios as part of requirements. The AI could use those scenarios to validate the implementation if tests are generated as part of the tasks. This combination gives you the best of both worlds: precise behavioral specifications and AI-accelerated implementation.
73
87
74
88
## Where SDD shines
75
89
76
90
SDD is particularly powerful in specific scenarios:
77
91
78
-
**Complex projects with clear goals:** When investing time to specify yields significant returns - enterprise systems, mission-critical applications, or projects with regulatory requirements. The upfront investment in specification pays dividends throughout development and maintenance.
92
+
-**Complex projects with clear goals:** When investing time to specify yields significant returns - enterprise systems, mission-critical applications, or projects with regulatory requirements. The upfront investment in specification pays dividends throughout development and maintenance.
79
93
80
-
**AI-accelerated development:** Teams using AI tools benefit most by structuring their input to the AI. A well-crafted specification gives AI assistants the context they need to generate accurate, useful implementations rather than code that needs extensive correction.
94
+
-**AI-accelerated development:** Teams using AI tools benefit most by structuring their input to the AI. A well-crafted specification gives AI assistants the context they need to generate accurate, useful implementations rather than code that needs extensive correction.
81
95
82
-
**Cross-team communication:** The spec and plan artifacts serve as clear communication mediums between product managers, developers, and AI agents. Everyone works from the same source of truth, reducing misalignment and rework.
96
+
-**Cross-team communication:** The spec and plan artifacts serve as clear communication mediums between product managers, developers, and AI agents. Everyone works from the same source of truth, reducing misalignment and rework.
83
97
84
-
**Projects with multiple implementation approaches:** SDD's separation of specification from implementation means you can generate multiple approaches from the same spec - exploring different optimization targets for performance, maintainability, or cost.
98
+
-**Projects with multiple implementation approaches:** SDD's separation of specification from implementation means you can generate multiple approaches from the same spec - exploring different optimization targets for performance, maintainability, or cost.
Copy file name to clipboardExpand all lines: learn-pr/wwl-azure/spec-driven-development-github-spec-kit-greenfield-intro/includes/5-examine-spec-driven-development-workflow-phases.md
+8-5Lines changed: 8 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -22,6 +22,7 @@ A well-structured specification includes several key sections:
22
22
-**User stories:** Brief narrative descriptions of how users interact with the feature. User stories capture intent and value rather than technical implementation.
23
23
24
24
For example:
25
+
25
26
- As a user, I want to add RSS feeds by URL so that I can follow my favorite websites.
26
27
- As a user, I want to see unread articles sorted newest-first so that I can catch up on recent content.
27
28
@@ -96,11 +97,11 @@ This task is specific about what to build, what it accepts, what validations to
96
97
97
98
Complex features benefit from organizing tasks into phases:
98
99
99
-
-**Phase 1 – Foundation:** Set up project structure, create database schema, and add required packages.
Copy file name to clipboardExpand all lines: learn-pr/wwl-azure/spec-driven-development-github-spec-kit-greenfield-intro/includes/6-introduction-github-spec-kit.md
+14-12Lines changed: 14 additions & 12 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -20,11 +20,11 @@ Key point: GitHub Spec Kit isn't an AI model itself - it's a framework and CLI t
**Executable specifications:** GitHub Spec Kit makes the spec "executable" by using it to drive code generation through commands. Your specification isn't just documentation - it's the input that produces implementation.
23
+
-**Executable specifications:** GitHub Spec Kit makes the spec "executable" by using it to drive code generation through commands. Your specification isn't just documentation - it's the input that produces implementation.
24
24
25
-
**Structured workflow enforcement:** GitHub Spec Kit guides you through phases in order. You can't effectively implement without first having a spec and plan, because the tool's workflow is designed to build each phase on the previous one.
25
+
-**Structured workflow enforcement:** GitHub Spec Kit guides you through phases in order. You can't effectively implement without first having a spec and plan, because the tool's workflow is designed to build each phase on the previous one.
26
26
27
-
**Intent-first approach:** You always start by explicitly stating intent (in the spec) in the tool's flow. The creators' goal was to let developers focus on product requirements and outcomes, while the AI handles the boilerplate code.
27
+
-**Intent-first approach:** You always start by explicitly stating intent (in the spec) in the tool's flow. The creators' goal was to let developers focus on product requirements and outcomes, while the AI handles the boilerplate code.
28
28
29
29
## Supported project types
30
30
@@ -69,10 +69,10 @@ When you set up GitHub Spec Kit, you get several integrated components:
69
69
The `specify` command-line tool initializes and manages spec-driven projects. When you run `specify init` in your project directory, it:
70
70
71
71
1. Prompts you to select your AI coding assistant
72
-
2. Creates a `.github/prompts/` directory with workflow templates
73
-
3. Generates a project structure with folders for specifications
**Efficiency:** It drafts specs and plans quickly with AI. What might take hours to write from scratch, GitHub Spec Kit can generate in minutes (though you refine it).
109
+
GitHub Spec Kit offers several advantages for developers adopting spec-driven development with AI assistance:
110
110
111
-
**Consistency:** It enforces a consistent format via templates and a consistent approach every time - valuable for teamwork and repeatable processes.
111
+
-**Efficiency:** It drafts specs and plans quickly with AI. What might take hours to write from scratch, GitHub Spec Kit can generate in minutes (though you refine it).
112
112
113
-
**Multi-agent flexibility:**Use the AI environment you prefer (Visual Studio Code with GitHub Copilot, Claude, or others) without changing your workflow.
113
+
-**Consistency:**It enforces a consistent format via templates and a consistent approach every time - valuable for teamwork and repeatable processes.
114
114
115
-
**Enterprise ready:**The constitution concept means GitHub Spec Kit is ready to encode company-wide best practices and ensure AI follows them in every plan.
115
+
-**Multi-agent flexibility:**Use the AI environment you prefer (Visual Studio Code with GitHub Copilot, Claude, or others) without changing your workflow.
116
116
117
-
**Open source and extensible:** Organizations can customize templates, contribute improvements, or integrate GitHub Spec Kit with their systems.
117
+
-**Enterprise ready:** The constitution concept means GitHub Spec Kit is ready to encode company-wide best practices and ensure AI follows them in every plan.
118
+
119
+
-**Open source and extensible:** Organizations can customize templates, contribute improvements, or integrate GitHub Spec Kit with their systems.
118
120
119
121
GitHub Spec Kit empowers you to accomplish in minutes what might otherwise take days - it's like having an AI project manager guiding your code generation while you focus on what matters: the product requirements and outcomes.
0 commit comments