可逆性
按反转多贵评每决策,并花与此成本成比例的精力。
为什么
有些决策便宜反转(哪个缓存库——一天换)有些不(哪个数据库——6 月迁)。同精力花两者浪费:1 天可逆选择花 2 周决策流程是瘫痪;6 月可逆选择花 1 天流程是鲁莽。可逆评级(便宜、中、贵)校准流程:便宜决策获 PR+评论、中获 ADR、贵获 ADR+原型+主签。这是"单向 vs 双向门"原则——多数决策双向、当单向是组织瘫痪主源。
何时使用
提议时评每决策。5 分钟。成本估变时重评。
如何做
1. 对提决策估反转成本: - 便宜(< 1 工程日):换库、重命名内部 API、改配置 - 中(1 工程周到 1 工程月):换框架、换托管服务 - 贵(> 1 工程月):换数据库、换云供方、重架构 2. 应用匹配流程: - 便宜 → PR 带解释选择的评论;无 ADR - 中 → ADR 带备选;技术负责人批 - 贵 → ADR + 原型 + 主/架构师签 + 迁移计划 3. 把可逆评级记 ADR(若写了) 4. 若便宜决策反转时变贵,停并重评
示例
决策及可逆:
- linter 换 Biome → 便宜(1 天换回)→ PR+评论、无 ADR
- 采 tRPC 代 REST → 中(2 周换回)→ ADR-019
- Postgres 迁 DynamoDB → 贵(6 月迁回)→
ADR-020 + 原型 + 主签 + 3 月迁移计划
- /api/v1/users 重命名 /api/v1/accounts → 中(消费者迁移)→ ADR-021
贵决策获便宜决策 10 倍流程——成比例精力。常见问题
- ⚠把每决策当贵——团队为 linter 配写 ADR 且真决策淹在噪声里;诚实评。
最佳实践
- ✓默认"便宜"除非能说反转的具体成本——多数决策可逆、假设不可逆是瘫痪。
- ✓知更多时重评可逆——看着便宜的决策(换库)可能贵(库已在 50 文件);更新流程。