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-enterprise-developers/includes/2-review-spec-driven-development-approach.md
+6-6Lines changed: 6 additions & 6 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,7 +4,7 @@ Spec-driven development (SDD) represents a fundamental shift in how software is
4
4
5
5
In traditional development, code is the source of truth—specifications serve code, often becoming outdated as implementation evolves. SDD inverts this relationship: **specifications become the primary artifact, and code serves specifications**. This paradigm shift enables AI-assisted development that maintains alignment between intent and implementation.
6
6
7
-
**Core SDD principles to remember:**
7
+
Core SDD principles to remember:
8
8
9
9
-**Specifications as the primary artifact**: The spec is the central source of truth. Code becomes its expression in a particular language and framework. Maintaining software means evolving specifications, not just patching code.
10
10
@@ -14,12 +14,12 @@ In traditional development, code is the source of truth—specifications serve c
14
14
15
15
-**AI-human collaboration**: AI transforms specs to code, but raw AI generation without structure produces chaos. SDD provides that structure through well-defined specifications and implementation plans.
16
16
17
-
**The four-phase SDD workflow:**
17
+
The four-phase SDD workflow:
18
18
19
19
1.**Specify**: Define *what* the software should do and *why*—user stories, acceptance criteria, requirements, and edge cases.
20
-
2.**Plan**: Decide *how* to build it—architecture, technology stack, and implementation approach.
21
-
3.**Tasks**: Break down the plan into discrete, actionable development tasks organized by phase.
22
-
4.**Implement**: Write code guided by the spec, plan, and task list, verifying each task against the specification.
20
+
1.**Plan**: Decide *how* to build it—architecture, technology stack, and implementation approach.
21
+
1.**Tasks**: Break down the plan into discrete, actionable development tasks organized by phase.
22
+
1.**Implement**: Write code guided by the spec, plan, and task list, verifying each task against the specification.
23
23
24
24
Each phase produces artifacts that feed into the next, creating a traceable path from requirements to working code.
25
25
@@ -33,7 +33,7 @@ Three trends make SDD essential for enterprise teams:
33
33
34
34
-**Pace of change**: Requirements change rapidly. SDD transforms requirement changes from obstacles into normal workflow—update the spec, and affected artifacts regenerate systematically.
35
35
36
-
For enterprise developers, SDD offers additional benefits: consistent alignment with organizational standards, auditable documentation of requirements and decisions, and systematic enforcement of security and compliance policies through the specification process.
36
+
For enterprise developers, SDD offers the following benefits: consistent alignment with organizational standards, auditable documentation of requirements and decisions, and systematic enforcement of security and compliance policies through the specification process.
Copy file name to clipboardExpand all lines: learn-pr/wwl-azure/spec-driven-development-github-spec-kit-enterprise-developers/includes/3-examine-github-spec-kit.md
+8-6Lines changed: 8 additions & 6 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,21 +4,23 @@ GitHub Spec Kit is an open-source toolkit that enables spec-driven development b
4
4
5
5
GitHub Spec Kit addresses a fundamental challenge in AI-assisted development: maintaining context and consistency across multiple interactions with coding assistants. It provides three essential capabilities:
6
6
7
-
-**Persistent artifacts**: Specifications, plans, and tasks are stored as Markdown files in your repository
8
-
-**Standardized workflow**: A defined process guides you through specification, planning, task breakdown, and implementation
**Supported AI agents:** GitHub Copilot, Claude Code, Cursor, Windsurf, Amazon Q Developer, and others. Each agent receives templates formatted for its specific prompt format while using the same underlying artifact files.
21
+
###AI agents
20
22
21
-
This module assumes you understand these basics and focuses on advanced techniques for enterprise development. If you need a detailed introduction to GitHub Spec Kit installation and basic usage, refer to the introductory module on spec-driven development.
23
+
GitHub Spec Kit supports the following AI agents: GitHub Copilot, Claude Code, Cursor, Windsurf, Amazon Q Developer, and others. Each agent receives templates formatted for its specific prompt format while using the same underlying artifact files.
Copy file name to clipboardExpand all lines: learn-pr/wwl-azure/spec-driven-development-github-spec-kit-enterprise-developers/includes/4-establish-project-principles-constitution-file.md
+6-7Lines changed: 6 additions & 7 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,15 +2,14 @@ The constitution is the foundation of spec-driven development with GitHub Spec K
2
2
3
3
## Review constitution basics
4
4
5
-
A constitution file captures non-negotiable principles, constraints, and standards that govern your project. It serves as guardrails for AI-assisted development—when AI generates specs, plans, or code, it references the constitution to verify proposals comply with your standards.
5
+
A constitution file captures non-negotiable principles, constraints, and standards that govern your project. It also serves as a guardrail for AI-assisted development. When the agent generates specs, plans, tasks, or code, it references the constitution to verify proposals comply with your standards.
6
6
7
-
**Key purposes:**
8
-
-**Consistency enforcement**: Ensures alignment with architectural decisions across long projects and multiple developers
9
-
-**Compliance documentation**: Makes regulatory requirements and security policies explicit and auditable
10
-
-**Institutional knowledge capture**: Preserves hard-won lessons in a form that guides AI code generation
11
-
-**Reduced cognitive load**: Automates enforcement of organizational policies during development
7
+
Key benefits of a well-defined constitution include:
12
8
13
-
With this foundation in mind, let's explore how to structure constitutions for enterprise development scenarios.
9
+
-**Consistency enforcement**: Ensures alignment with architectural decisions across long projects and multiple developers.
10
+
-**Compliance documentation**: Makes regulatory requirements and security policies explicit and auditable.
11
+
-**Institutional knowledge capture**: Preserves hard-won lessons in a form that guides AI code generation.
12
+
-**Reduced cognitive load**: Automates enforcement of organizational policies during development.
Copy file name to clipboardExpand all lines: learn-pr/wwl-azure/spec-driven-development-github-spec-kit-enterprise-developers/includes/5-write-effective-spec-file.md
+6-8Lines changed: 6 additions & 8 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,14 +4,12 @@ The specification file (`spec.md`) is the single source of truth for what your f
4
4
5
5
In spec-driven development, the specification defines exactly what the software should do, and every implementation decision traces back to it. A well-structured specification includes:
6
6
7
-
-**Summary**: Concise description of the feature from an end-user perspective
8
-
-**User stories**: Brief narratives of how users interact with the feature
9
-
-**Acceptance criteria**: Specific, testable conditions that must be true for completion
10
-
-**Functional requirements**: Detailed descriptions of system behavior
11
-
-**Nonfunctional requirements**: Quality attributes like performance, security, and scalability
12
-
-**Edge cases**: Unusual scenarios, error conditions, and boundary behaviors
13
-
14
-
With these fundamentals in mind, let's explore enterprise-specific considerations for specification writing.
7
+
-**Summary**: Concise description of the feature from an end-user perspective.
8
+
-**User stories**: Brief narratives of how users interact with the feature.
9
+
-**Acceptance criteria**: Specific, testable conditions that must be true for completion.
10
+
-**Functional requirements**: Detailed descriptions of system behavior.
11
+
-**Nonfunctional requirements**: Quality attributes like performance, security, and scalability.
12
+
-**Edge cases**: Unusual scenarios, error conditions, and boundary behaviors.
Copy file name to clipboardExpand all lines: learn-pr/wwl-azure/spec-driven-development-github-spec-kit-enterprise-developers/includes/6-create-technical-plan-file.md
+6-6Lines changed: 6 additions & 6 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,17 +4,17 @@ A specification defines what you need to build. A technical plan defines how you
4
4
5
5
The plan.md file serves as your design document, bridging the gap between high-level requirements in spec.md and the concrete implementation tasks that follow. A comprehensive technical plan contains:
6
6
7
-
-**Architecture overview**: High-level view of how components interact
8
-
-**Technology stack and key decisions**: Explicit documentation of technology choices with rationales
9
-
-**Implementation sequence**: Logical progression of implementation steps
10
-
-**Constitution verification**: Explicit check that proposed solutions comply with project principles
11
-
-**Assumptions and open questions**: Documentation of assumptions and unresolved questions
7
+
-**Architecture overview**: High-level view of how components interact.
8
+
-**Technology stack and key decisions**: Explicit documentation of technology choices with rationales.
9
+
-**Implementation sequence**: Logical progression of implementation steps.
10
+
-**Constitution verification**: Explicit check that proposed solutions comply with project principles.
11
+
-**Assumptions and open questions**: Documentation of assumptions and unresolved questions.
12
12
13
13
This separation of concerns is fundamental—specifications remain stable and focused on "what," while plans can evolve as you experiment with different "how" approaches. If you later switch technologies, you update plan.md while spec.md remains largely unchanged.
14
14
15
15
With these fundamentals in mind, let's explore advanced planning considerations for enterprise development.
16
16
17
-
## Understand the purpose of a technical plan
17
+
## Examine the purpose of a technical plan
18
18
19
19
The plan.md file serves as your design document. It bridges the gap between high-level requirements in spec.md and the concrete implementation tasks that follow. While the specification remains stable and focused on "what," the plan can evolve as you experiment with different "how" approaches.
Copy file name to clipboardExpand all lines: learn-pr/wwl-azure/spec-driven-development-github-spec-kit-enterprise-developers/includes/7-generate-implementation-tasks-file.md
+13-12Lines changed: 13 additions & 12 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,15 +4,16 @@ Technical plans provide architectural direction, but implementation requires con
4
4
5
5
The `/speckit.tasks` command converts high-level architectural decisions into specific work items in the tasks.md file. Each task represents a discrete unit of work that can be implemented, tested, and verified independently.
6
6
7
-
**Key characteristics of well-scoped tasks:**
8
-
-**Actionable**: Clearly states what needs to be done
9
-
-**Testable**: Verification of completion is straightforward
10
-
-**Independent**: Can be completed without waiting for unrelated work
11
-
-**Time-bounded**: Completable in a reasonable timeframe (hours to a day)
7
+
Key characteristics of well-scoped tasks:
12
8
13
-
**Phase-based organization:** Complex features benefit from organizing tasks into phases—Foundation, Core Functionality, UI/Integration, Security, and Testing. Each phase represents a logical grouping that builds toward a milestone.
9
+
-**Actionable**: Clearly states what needs to be done.
10
+
-**Testable**: Verification of completion is straightforward.
11
+
-**Independent**: Can be completed without waiting for unrelated work.
12
+
-**Time-bounded**: Can be completed in a reasonable timeframe (hours to a day).
14
13
15
-
With these fundamentals in mind, let's explore advanced task management techniques for enterprise development.
14
+
### Phase-based organization
15
+
16
+
Complex features benefit from organizing tasks into phases. For example: Setup, Foundation, Core Functionality, UI/Integration, Security, and Testing. Each phase represents a logical grouping that builds toward a milestone.
16
17
17
18
## Benefits of task breakdown
18
19
@@ -38,15 +39,15 @@ For the document upload feature, a typical phase structure might include:
38
39
- Create the DocumentMetadata table in SQL database with appropriate schema.
39
40
- Add the Azure.Storage.Blobs NuGet package to the back-end project.
40
41
- Create the DocumentService class that encapsulates storage operations.
41
-
42
+
42
43
-**Phase 2: Core Upload Functionality**
43
44
44
45
- Implement POST /api/documents/upload endpoint in DocumentsController.
45
46
- Add file validation logic (size, type) to DocumentService.
46
47
- Implement blob storage upload method with error handling.
47
48
- Save document metadata to database after successful upload.
48
49
- Return upload result with document ID and URL to client.
49
-
50
+
50
51
-**Phase 3: Front-end Implementation**
51
52
52
53
- Create DocumentUpload React component with file input.
@@ -90,7 +91,7 @@ This task is specific about what to build (an endpoint), what it accepts (multip
90
91
91
92
Here's an example of an insufficiently scoped task: "Make the upload work." This example provides no actionable guidance about what "work" means or what components are involved.
92
93
93
-
Here'e and example of an overly prescriptive task: "On line 47 of DocumentsController.cs, add a method named UploadDocument with parameters (IFormFile file, string userId) and implement it using exactly these steps..." This task description removes developer agency and doesn't account for evolving code structure.
94
+
Here's an example of an overly prescriptive task: "On line 47 of DocumentsController.cs, add a method named UploadDocument with parameters (IFormFile file, string userId) and implement it using exactly these steps..." This task description removes developer agency and doesn't account for evolving code structure.
94
95
95
96
### Task dependencies and sequencing
96
97
@@ -211,9 +212,9 @@ This command instructs the AI to focus on tasks T001 through T027, generating co
211
212
212
213
### Provide assistance during implementation
213
214
214
-
The AI might require assistance or permission to proceed with certain tasks. For example, if a task requires building or running the app, the AI may prompt for confirmation before proceeding.
215
+
The AI might require assistance or permission to proceed with certain tasks. For example, if a task requires building or running the app, the AI might prompt for confirmation before proceeding.
215
216
216
-
In addition, the AI might discover a bug when testing the implementation of a task. Provide detailed information to help diagnose the issue. You can also provide additional context or clarifications if the AI encounters ambiguities.
217
+
In addition, the AI might discover a bug when testing the implementation of a task. Provide detailed information to help diagnose the issue. You can also provide extra context or clarifications if the AI encounters ambiguities.
217
218
218
219
When prompted for assistance in the Chat view, a quick response helps to keep implementation moving smoothly.
0 commit comments