Skip to content

Commit d31492a

Browse files
committed
Updated the units that were affected by the new introductory module. Includes additional Acrolinx pass.
1 parent 5495e70 commit d31492a

6 files changed

Lines changed: 45 additions & 45 deletions

File tree

learn-pr/wwl-azure/spec-driven-development-github-spec-kit-enterprise-developers/includes/2-review-spec-driven-development-approach.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ Spec-driven development (SDD) represents a fundamental shift in how software is
44

55
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.
66

7-
**Core SDD principles to remember:**
7+
Core SDD principles to remember:
88

99
- **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.
1010

@@ -14,12 +14,12 @@ In traditional development, code is the source of truth—specifications serve c
1414

1515
- **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.
1616

17-
**The four-phase SDD workflow:**
17+
The four-phase SDD workflow:
1818

1919
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.
2323

2424
Each phase produces artifacts that feed into the next, creating a traceable path from requirements to working code.
2525

@@ -33,7 +33,7 @@ Three trends make SDD essential for enterprise teams:
3333

3434
- **Pace of change**: Requirements change rapidly. SDD transforms requirement changes from obstacles into normal workflow—update the spec, and affected artifacts regenerate systematically.
3535

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.
3737

3838
## Applying SDD in brownfield scenarios
3939

learn-pr/wwl-azure/spec-driven-development-github-spec-kit-enterprise-developers/includes/3-examine-github-spec-kit.md

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,21 +4,23 @@ GitHub Spec Kit is an open-source toolkit that enables spec-driven development b
44

55
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:
66

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
9-
- **Reusable commands**: Built-in slash commands encapsulate best-practice prompting patterns
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.
9+
- **Reusable commands**: Built-in slash commands encapsulate best-practice prompting patterns.
1010

11-
**Core components:**
11+
### Core components
12+
13+
GitHub Spec Kit implements the following core components:
1214

1315
| Component | Purpose |
1416
|-----------|---------|
1517
| `specify` CLI | Initializes and manages spec-driven projects |
1618
| Markdown artifact files | constitution.md, spec.md, plan.md, tasks.md drive development |
1719
| Slash commands | `/speckit.specify`, `/speckit.plan`, `/speckit.tasks`, `/speckit.implement` |
1820

19-
**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
2022

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.
2224

2325
### Environment variables for feature tracking
2426

learn-pr/wwl-azure/spec-driven-development-github-spec-kit-enterprise-developers/includes/4-establish-project-principles-constitution-file.md

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,15 +2,14 @@ The constitution is the foundation of spec-driven development with GitHub Spec K
22

33
## Review constitution basics
44

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.
66

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:
128

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.
1413

1514
## Purpose of the constitution
1615

learn-pr/wwl-azure/spec-driven-development-github-spec-kit-enterprise-developers/includes/5-write-effective-spec-file.md

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,12 @@ The specification file (`spec.md`) is the single source of truth for what your f
44

55
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:
66

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.
1513

1614
## The spec as the single source of truth
1715

learn-pr/wwl-azure/spec-driven-development-github-spec-kit-enterprise-developers/includes/6-create-technical-plan-file.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,17 +4,17 @@ A specification defines what you need to build. A technical plan defines how you
44

55
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:
66

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.
1212

1313
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.
1414

1515
With these fundamentals in mind, let's explore advanced planning considerations for enterprise development.
1616

17-
## Understand the purpose of a technical plan
17+
## Examine the purpose of a technical plan
1818

1919
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.
2020

learn-pr/wwl-azure/spec-driven-development-github-spec-kit-enterprise-developers/includes/7-generate-implementation-tasks-file.md

Lines changed: 13 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -4,15 +4,16 @@ Technical plans provide architectural direction, but implementation requires con
44

55
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.
66

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:
128

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).
1413

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.
1617

1718
## Benefits of task breakdown
1819

@@ -38,15 +39,15 @@ For the document upload feature, a typical phase structure might include:
3839
- Create the DocumentMetadata table in SQL database with appropriate schema.
3940
- Add the Azure.Storage.Blobs NuGet package to the back-end project.
4041
- Create the DocumentService class that encapsulates storage operations.
41-
42+
4243
- **Phase 2: Core Upload Functionality**
4344

4445
- Implement POST /api/documents/upload endpoint in DocumentsController.
4546
- Add file validation logic (size, type) to DocumentService.
4647
- Implement blob storage upload method with error handling.
4748
- Save document metadata to database after successful upload.
4849
- Return upload result with document ID and URL to client.
49-
50+
5051
- **Phase 3: Front-end Implementation**
5152

5253
- 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
9091

9192
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.
9293

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.
9495

9596
### Task dependencies and sequencing
9697

@@ -211,9 +212,9 @@ This command instructs the AI to focus on tasks T001 through T027, generating co
211212

212213
### Provide assistance during implementation
213214

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.
215216

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.
217218

218219
When prompted for assistance in the Chat view, a quick response helps to keep implementation moving smoothly.
219220

0 commit comments

Comments
 (0)