Skip to main content

4D Decision Records (4DDR)

4D Decision Records (4DDR) extend traditional Architecture Decision Records (ADRs) to capture decisions across all four phases of the GISE methodology: Discover, Design, Develop, and Deploy.

Overview​

Traditional ADRs focus primarily on architectural decisions made during the design phase. 4DDRs broaden this scope to include any decision that impacts constraints, processes, or outcomes across the entire software development lifecycle.

AspectTraditional ADR4DDR
ScopeArchitectural decisions onlyDecisions in all 4 phases
FrequencyDozens per projectOne per salient decision in any phase
Granularity"Should we use PostgreSQL?""Which user research method?", "Which lint rules?", "How do we rollback deployments?"
AudienceArchitects & senior developersWhole team, DevOps, Product, QA
LifespanMostly staticMutableβ€”revisited when invalidated by later phases

Key Benefits​

🧠 Shared Mental Model​

Decisions made in the Discover phase inform later phases without tribal knowledge loss.

πŸ€– LLM-Ready Context​

Each 4DDR is a single, prompt-friendly JSON/Markdown blobβ€”perfect for feeding back into Blueprint-Plan-Execute workflows.

πŸ“‹ Compliance & Audit​

Clear decision traces for ISO 27001, SOC 2, medical, and financial compliance requirements.

⚑ Accelerated Onboarding​

New team members can quickly understand the "why" behind current system constraints.

πŸ“Š Methodology Health Metrics​

Track stale or conflicting 4DDRs to identify where GISE processes need refinement.

Getting Started​

  1. What is 4DDR? - Deep dive into the 4DDR concept
  2. 4DDR vs ADR - Comparison with traditional approaches
  3. Lifecycle Management - Status transitions and maintenance
  4. Storage Strategies - Git, database, and hybrid approaches

Integration with GISE​

4DDRs integrate seamlessly with GISE's Blueprint-Plan-Execute (BPE) methodology:

  • Blueprint: LLM drafts high-level options and provisional 4DDR templates
  • Plan: Plans include checkboxes to finalize and merge 4DDRs
  • Execute: Execution agents read accepted 4DDRs to respect constraints

This creates a feedback loop where every generation-execution cycle stays anchored to explicit, version-controlled decisions.