8.0 KiB
TDD Story Definition of Done Checklist
Instructions for Agents
This checklist ensures TDD stories meet quality standards across all Red-Green-Refactor cycles. Both QA and Dev agents should validate completion before marking a story as Done.
[[LLM: TDD DOD VALIDATION INSTRUCTIONS
This is a specialized DoD checklist for Test-Driven Development stories. It extends the standard DoD with TDD-specific quality gates.
EXECUTION APPROACH:
- Verify TDD cycle progression (Red → Green → Refactor → Done)
- Validate test-first approach was followed
- Ensure proper test isolation and determinism
- Check code quality improvements from refactoring
- Confirm coverage targets are met
CRITICAL: Never mark a TDD story as Done without completing all TDD phases.]]
TDD Cycle Validation
Red Phase Completion
LLM: Verify tests were written BEFORE implementation
- Tests written first: All tests were created before any implementation code
- Failing correctly: Tests fail for the right reasons (missing functionality, not bugs)
- Proper test structure: Tests follow Given-When-Then or Arrange-Act-Assert patterns
- Deterministic tests: No random values, network calls, or time dependencies
- External dependencies mocked: All external services, databases, APIs properly mocked
- Test naming: Clear, descriptive test names that express intent
- Story metadata updated: TDD status set to 'red' and test list populated
Green Phase Completion
LLM: Ensure minimal implementation that makes tests pass
- All tests passing: 100% of tests pass consistently
- Minimal implementation: Only code necessary to make tests pass was written
- No feature creep: No functionality added without corresponding failing tests
- Test-code traceability: Implementation clearly addresses specific test requirements
- Regression protection: All previously passing tests remain green
- Story metadata updated: TDD status set to 'green' and test results documented
Refactor Phase Completion
LLM: Verify code quality improvements while maintaining green tests
- Tests remain green: All tests continue to pass after refactoring
- Code quality improved: Duplication eliminated, naming improved, structure clarified
- Design enhanced: Better separation of concerns, cleaner interfaces
- Technical debt addressed: Known code smells identified and resolved
- Commit discipline: Small, incremental commits with green tests after each
- Story metadata updated: Refactoring notes and improvements documented
Test Quality Standards
Test Implementation Quality
LLM: Ensure tests are maintainable and reliable
- Fast execution: Unit tests complete in <100ms each
- Isolated tests: Each test can run independently in any order
- Single responsibility: Each test validates one specific behavior
- Clear assertions: Test failures provide meaningful error messages
- Appropriate test types: Right mix of unit/integration/e2e tests
- Mock strategy: Appropriate use of mocks vs fakes vs stubs
Coverage and Completeness
LLM: Validate comprehensive test coverage
- Coverage target met: Code coverage meets story's target percentage
- Acceptance criteria covered: All ACs have corresponding tests
- Edge cases tested: Boundary conditions and error scenarios included
- Happy path validated: Primary success scenarios thoroughly tested
- Error handling tested: Exception paths and error recovery validated
Implementation Quality
Code Standards Compliance
LLM: Ensure production-ready code quality
- Coding standards followed: Code adheres to project style guidelines
- Architecture alignment: Implementation follows established patterns
- Security practices: Input validation, error handling, no hardcoded secrets
- Performance considerations: No obvious performance bottlenecks introduced
- Documentation updated: Code comments and documentation reflect changes
File Organization and Management
LLM: Verify proper project structure
- Test file organization: Tests follow project's testing folder structure
- Naming conventions: Files and functions follow established patterns
- Dependencies managed: New dependencies properly declared and justified
- Import/export clarity: Clear module interfaces and dependencies
- File list accuracy: All created/modified files documented in story
TDD Process Adherence
Methodology Compliance
LLM: Confirm true TDD practice was followed
- Test-first discipline: No implementation code written before tests
- Minimal cycles: Small Red-Green-Refactor iterations maintained
- Refactoring safety: Only refactored with green test coverage
- Requirements traceability: Clear mapping from tests to acceptance criteria
- Collaboration evidence: QA and Dev agent coordination documented
Documentation and Traceability
LLM: Ensure proper tracking and communication
- TDD progress tracked: Story shows progression through all TDD phases
- Test execution logged: Evidence of test runs and results captured
- Refactoring documented: Changes made during refactor phase explained
- Agent collaboration: Clear handoffs between QA (Red) and Dev (Green/Refactor)
- Story metadata complete: All TDD fields properly populated
Integration and Deployment Readiness
Build and Deployment
LLM: Ensure story integrates properly with project
- Project builds successfully: Code compiles without errors or warnings
- All tests pass in CI: Automated test suite runs successfully
- No breaking changes: Existing functionality remains intact
- Environment compatibility: Code works across development environments
- Configuration managed: Any new config values properly documented
Review Readiness
LLM: Story is ready for peer review
- Complete implementation: All acceptance criteria fully implemented
- Clean commit history: Clear, logical progression of changes
- Review artifacts: All necessary files and documentation available
- No temporary code: Debug code, TODOs, and temporary hacks removed
- Quality gates passed: All automated quality checks successful
Final TDD Validation
Holistic Assessment
LLM: Overall TDD process and outcome validation
- TDD value delivered: Process improved code design and quality
- Test suite value: Tests provide reliable safety net for changes
- Knowledge captured: Future developers can understand and maintain code
- Standards elevated: Code quality meets or exceeds project standards
- Learning documented: Any insights or patterns discovered are captured
Story Completion Criteria
LLM: Final checklist before marking Done
- Business value delivered: Story provides promised user value
- Technical debt managed: Any remaining debt is documented and acceptable
- Future maintainability: Code can be easily modified and extended
- Production readiness: Code is ready for production deployment
- TDD story complete: All TDD-specific requirements fulfilled
Completion Declaration
Agent Validation:
- QA Agent confirms: Test strategy executed successfully, coverage adequate
- Dev Agent confirms: Implementation complete, code quality satisfactory
Final Status:
- Story marked Done: All DoD criteria met and verified
- TDD status complete: Story TDD metadata shows 'done' status
- Ready for review: Story package complete for stakeholder review
Validation Date: {date}
Validating Agents: {qa_agent} & {dev_agent}
TDD Cycles Completed: {cycle_count}
Final Test Status: {passing_count} passing, {failing_count} failing