Back to Courses
Intermediate

Spec Driven Development for Java Developers

Learn a structured, spec-first approach to building software. Write clear feature specs before touching code, generate implementation plans, implement with confidence, and review with purpose. SDD brings discipline and repeatability to AI-assisted development in Java projects.

10 Modules
48 Topics
Java Fundamentals required
Works with Claude Code

Course Curriculum

  • What is SDD and why it matters
  • SDD vs TDD vs BDD
  • The SDD workflow — 7 steps
  • SDD with Claude Code & AI assistance
  • Tooling setup — Claude Code skills & commands

  • Running /sdd-init on a project
  • What goes into project.md
  • Tech stack & architecture discovery
  • Keeping project.md up to date

  • Running /sdd-feature from a requirement
  • Anatomy of a feature.md spec
  • Writing clear acceptance criteria
  • Capturing edge cases & error scenarios
  • Refining specs with /sdd-refine
  • Signs of a high-quality spec

  • Running /sdd-plan from feature.md
  • Anatomy of a plan.md
  • Identifying files to create & modify
  • Ordering steps by dependency
  • Reviewing & adjusting the plan

  • Running /sdd-implement from plan.md
  • Step-by-step execution & verification
  • Verifying acceptance criteria as you go
  • Handling blockers mid-implementation
  • Incremental commits & partial rollback

  • Running /sdd-review on implementation
  • Confidence-based issue filtering
  • Critical vs Major vs Minor findings
  • Security & performance checks
  • Verifying alignment with acceptance criteria

  • Running /sdd-archive after review
  • specs-archive directory structure
  • Updating project.md with new features
  • Recording architectural decisions

  • /sdd-yolo — full pipeline in one command
  • When to use the fast path
  • The single confirmation gate
  • Auto-stopping on Critical/Major issues

  • Shared specs & collaborative review
  • Spec versioning with Git
  • Spec-driven pull requests
  • Onboarding new developers with specs
  • Keeping specs in sync with the codebase

  • Reusable spec templates for common patterns
  • Domain modelling from specs
  • Iterative refinement across sprints
  • SDD for refactoring & migration tasks
  • Metrics — measuring SDD effectiveness