Guest User

decision-categories

a guest
Mar 6th, 2026
198
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.12 KB | None | 0 0
  1. # Decision Categories & Significance Criteria
  2.  
  3. Read this file when auditing a project's decision log for gaps, or when deciding whether a
  4. choice warrants an ADR.
  5.  
  6. ## Table of Contents
  7.  
  8. 1. Architectural Significance Criteria
  9. 2. Common Decision Categories
  10. 3. Decision Identification Triggers
  11.  
  12. ---
  13.  
  14. ## 1. Architectural Significance Criteria
  15.  
  16. A decision is architecturally significant if it meets one or more of these criteria
  17. (adapted from Zimmermann's 5+2 criteria):
  18.  
  19. | Criterion | Question to Ask |
  20. |-----------|----------------|
  21. | **Business value / risk** | Does this choice directly affect revenue, compliance, or business continuity? |
  22. | **Stakeholder concern** | Has a stakeholder explicitly raised this as important? |
  23. | **Quality attribute impact** | Does this measurably affect performance, security, scalability, maintainability, or reliability? |
  24. | **External dependency** | Does this introduce or change a dependency on a vendor, service, or third-party component? |
  25. | **Cross-cutting** | Does this affect multiple components, services, or teams? |
  26. | **First-of-a-kind** | Is this the first time the project faces this type of decision? (Sets a precedent.) |
  27. | **Past troublemaker** | Has this type of decision caused problems in past projects or earlier iterations? |
  28.  
  29. **Rule of thumb:** If you'd explain this choice to a new team member during onboarding,
  30. it probably deserves an ADR.
  31.  
  32. ---
  33.  
  34. ## 2. Common Decision Categories
  35.  
  36. Use these categories to audit a project's decision log for gaps. Not every project needs
  37. ADRs in every category — but for each category that applies, check whether the significant
  38. choices are documented.
  39.  
  40. ### Technology Choices
  41.  
  42. - Programming language(s)
  43. - Framework(s) and runtime(s)
  44. - Database(s) — type, engine, hosting
  45. - Message broker / event bus
  46. - Cache layer
  47. - Search engine
  48. - CI/CD platform
  49. - Cloud provider and core services
  50. - Container orchestration
  51. - Monitoring and observability stack
  52. - Package manager and dependency strategy
  53.  
  54. ### Architecture Patterns
  55.  
  56. - System decomposition (monolith, modular monolith, microservices, serverless)
  57. - Communication patterns (sync REST, async messaging, gRPC, GraphQL)
  58. - Data ownership and boundaries (per-service DB, shared DB, CQRS, event sourcing)
  59. - API style and versioning strategy
  60. - Error handling philosophy (fail-fast, circuit breaker, retry policies)
  61. - State management (stateless services, session affinity, distributed state)
  62.  
  63. ### Security & Compliance
  64.  
  65. - Authentication mechanism (OAuth2, SAML, API keys, mTLS)
  66. - Authorization model (RBAC, ABAC, policy engine)
  67. - Data encryption (at rest, in transit, field-level)
  68. - Data residency and sovereignty constraints
  69. - PII handling and retention policies
  70. - Audit logging approach
  71. - Secrets management
  72. - Compliance framework adherence (SOC2, HIPAA, GDPR, etc.)
  73.  
  74. ### Infrastructure & Operations
  75.  
  76. - Deployment strategy (blue/green, canary, rolling)
  77. - Environment topology (dev, staging, prod, preview envs)
  78. - Infrastructure-as-code tool and approach
  79. - Scaling strategy (horizontal, vertical, auto-scaling policies)
  80. - Disaster recovery and backup strategy
  81. - SLO/SLA targets and error budgets
  82.  
  83. ### Development Process
  84.  
  85. - Branching and merge strategy
  86. - Code review requirements
  87. - Testing strategy (unit/integration/e2e balance, coverage targets)
  88. - Documentation approach (co-located, wiki, generated)
  89. - Dependency update policy
  90. - Feature flag system
  91.  
  92. ### Data & Integration
  93.  
  94. - Data pipeline architecture
  95. - ETL/ELT approach
  96. - Schema evolution and migration strategy
  97. - Third-party integration patterns
  98. - Event schema format (Avro, Protobuf, JSON Schema)
  99. - Idempotency and deduplication strategy
  100.  
  101. ---
  102.  
  103. ## 3. Decision Identification Triggers
  104.  
  105. These situations signal that an ADR should be created or consulted:
  106.  
  107. ### During Development
  108.  
  109. - Choosing between two or more libraries, frameworks, or tools
  110. - Introducing a new dependency
  111. - Changing a public API contract
  112. - Modifying the database schema in a structural way (new table, index strategy change)
  113. - Setting up a new service or module
  114. - Implementing a pattern for the first time in the codebase
  115. - Working around a constraint imposed by a previous decision
  116. - Noticing that code contradicts a documented decision
  117.  
  118. ### During Review
  119.  
  120. - A PR introduces an architectural pattern not seen elsewhere in the codebase
  121. - A reviewer asks "why did you do it this way?" and the answer isn't obvious
  122. - A change affects more than one service or major component
  123. - A change modifies infrastructure configuration
  124.  
  125. ### During Planning
  126.  
  127. - Sprint planning surfaces a "we need to decide" item
  128. - A new feature requires choosing between implementation approaches
  129. - Scaling concerns emerge that require infrastructure changes
  130. - A vendor contract is being evaluated or renewed
  131.  
  132. ### In Claude Code / Agentic Workflows
  133.  
  134. - Claude is about to make a structural choice (file organization, module boundaries, etc.)
  135. - Claude encounters a pattern question it can't answer from the codebase alone
  136. - Claude is implementing something that might conflict with an existing decision
  137. - Claude is starting work on a new feature area — check for relevant ADRs first
  138.  
Advertisement
Add Comment
Please, Sign In to add comment