Decision-Driven Software Engineering
A Methodology for Human-AI Collaboration in Software Development
Get Started Now View on GitHub
π― What is DDSE?
Decision-Driven Software Engineering (DDSE) is a methodology that integrates structured decision-making into every phase of the software development lifecycle. At its core, DDSE recognizes that software engineering is fundamentally about making good decisions under uncertaintyβand that these decisions should be captured, reasoned about, and used to guide both human and AI collaboration.
DDSE in the Software Development Lifecycle
DDSE enhances traditional SDLC phases by embedding decision governance at each stage:
Requirements β TDR Creation β Implementation β CI/CD β Maintenance
β β β β β
AI helps AI drafts TDRs AI generates AI validates AI suggests
clarify Human approves code with compliance updates
ambiguity & owns decision TDR context
π Requirements Phase
- AI assists in clarifying ambiguous requirements and identifying decision points
- Teams create Major Design Decisions (MDDs) for strategic choices
- Business constraints and user needs become structured decision context
ποΈ Design & Architecture Phase
- AI drafts initial Technical Decision Records (TDRs) based on requirements
- Humans maintain authority by reviewing, approving, and owning all decisions
- Architectural Decision Records (ADRs) capture system structure and technology choices
βοΈ Implementation Phase
- AI generates code using TDR context for consistent, aligned implementation
- Implementation Decision Records (IDRs) guide specific coding patterns
- Decision-driven development ensures AI follows human-defined constraints
π CI/CD & Testing Phase
- AI validates code compliance against documented decision criteria
- Automated checks ensure implementation matches decision requirements
- TDRs provide context for automated testing and deployment strategies
π§ Maintenance & Evolution Phase
- AI suggests updates based on changing requirements and decision outcomes
- Decision history provides context for evaluating change impact
- Technical Decision Memos (TDMs) capture incremental decisions and trade-offs
DDSE in Agile Development
DDSE seamlessly integrates with Agile methodologies while addressing a critical gap: decision governance in iterative development.
π Sprint Planning
- User stories include decision context and AI guidance sections
- Teams identify which decisions need TDRs vs. quick TDMs
- Decision backlogs track architectural and technical choice dependencies
π Daily Standups
- Teams discuss decision blockers alongside traditional impediments
- AI-generated code reviewed against documented decision criteria
- Decision conflicts identified and escalated for human resolution
π Sprint Reviews & Retrospectives
- Decision outcomes evaluated alongside feature delivery
- TDR effectiveness measured through implementation consistency
- Team learning captured in updated decision templates and patterns
π― Continuous Improvement
- Decision quality metrics inform process refinement
- AI collaboration patterns evolve based on TDR usage effectiveness
- Cross-sprint decision context prevents repeated architectural debates
Core DDSE Principles
- Human Authority: AI accelerates, humans decide
- Decision Transparency: All significant choices documented and reasoned
- Context Preservation: Decision rationale survives beyond the original team
- AI Collaboration: TDRs provide structured context for AI tools
- Incremental Adoption: Start small, scale based on value demonstrated
π οΈ Contribute with Ready-Made Templates
DDSE grows stronger with community contributions! You can help expand the ecosystem by creating base TDR templates for common project types:
π Web Development Templates
- Jekyll Static Sites: Blog-focused MDDs and content strategy ADRs
- React Applications: Component architecture and state management decisions
- WordPress Sites: Theme customization and plugin integration patterns
- Next.js Projects: SSR/SSG choices and deployment configuration decisions
π± Mobile Development Templates
- React Native Apps: Cross-platform vs. native decision frameworks
- Flutter Projects: Widget architecture and platform-specific adaptations
- iOS/Android Native: Platform-specific design pattern decisions
π’ Enterprise Application Templates
- Microservices Architecture: Service boundary and communication decisions
- API Gateway Patterns: Authentication, rate limiting, and routing choices
- Database Design: Schema evolution and migration strategy decisions
- DevOps Integration: Container orchestration and monitoring decisions
π₯ Check out the Video: How a Task App in Python can be created with TDR templates in minutes
π€ How to Contribute Templates
- Identify a common project type that needs decision guidance
- Create TDR templates for typical decisions in that domain
- Include AI context sections for tool integration
- Submit via GitHub with examples and usage documentation
- Join our community for collaborative template refinement
Start Contributing Templates β
π Why DDSE Now?
βIn the AI era, human value lies not in being the exclusive generator of solutions, but in being the authoritative decision-maker who guides generation toward human-aligned outcomes.β
AI can generate code faster than humansβbut it canβt make intelligent decisions about what should be built or why. Without decision governance, AI-assisted development creates a dangerous gap: rapid implementation without human authority over architectural direction.
The Problem: AI Speed Without Human Direction
- β οΈ AI generates code without architectural context
- β οΈ Inconsistent patterns across different AI interactions
- β οΈ No institutional memory of technical decisions
- β οΈ Rapid technical debt accumulation
- β οΈ Lost human oversight in critical technical choices
The Solution: Decision-Driven Development
- β Technical Decision Records (TDRs) provide AI context
- β Consistent implementation patterns across all AI tools
- β Preserved decision rationale and trade-offs
- β Human authority maintained over architectural direction
- β AI accelerates implementation within human-defined constraints
π― Core DDSE Concepts
TDR Hierarchy: Structured Decision Authority
- MDD (Major Design Decisions)
- Strategic product and business constraint decisions
- ADR (Architectural Decision Records)
- System structure and technology choices
- EDR (Engineering Decision Records)
- Cross-cutting implementation approaches
- IDR (Implementation Decision Records)
- Specific coding patterns and conventions
- TDM (Technical Decision Memos)
- Quick tactical decisions and trade-offs
π€ AI Integration in Practice
DDSE transforms AI from an unguided code generator into an intelligent implementation partner:
# Example: TDR AI Context Section
ai_context:
implementation_priority: |
Focus on user authentication flow first, then task CRUD operations.
Prioritize security over performance in authentication components.
framework_guidance: |
Use FastAPI with SQLAlchemy ORM for clean separation of concerns.
Follow repository pattern for data access abstraction.
constraint_enforcement: |
MUST validate all inputs using Pydantic models.
MUST use JWT tokens with 24-hour expiration.
NEVER store plaintext passwords.
When AI tools read this context, they generate code that:
- Follows your documented patterns consistently
- Respects your architectural constraints automatically
- Implements your business rules correctly
- Maintains your quality standards without extra prompting
π Quick Start Journey
5-Minute Setup
- Choose your first decision to document (start small!)
- Download a TDR template for the decision type
- Fill in the decision context including AI guidance
- Use the TDR with your AI tools for aligned implementation
- Validate with our compliance checker for quality assurance
π Community & Open Source
The DDSE Foundation is a 100% open source initiative driven by community collaboration. We operate through transparent governance with multiple ways for anyone to participate and contribute to the evolution of decision-driven software engineering.
π Open Community Values
- π Transparent Development: All decisions, discussions, and development happen in public
- π€ Inclusive Participation: Everyone can contribute regardless of background or experience level
- π― Merit-Based Leadership: Governance roles earned through community contribution and expertise
- π Open Source Everything: All code, documentation, and research freely available under MIT license
π― Ready to Start?
New to DDSE? β Learn DDSE Foundations
Want to implement? β Implementation Guide
Need templates? β TDR Templates
DDSE Foundation: Advancing decision-aware software development for the AI era.