Skip to content

决策框架

为什么需要决策框架

技术决策直接影响项目成败。没有框架的决策往往缺乏客观依据、难以说服团队、无法复盘。

决策框架的价值:

  • 多维度评估,避免片面
  • 量化对比,减少主观性
  • 记录依据,可追溯优化
  • 逻辑清晰,易于沟通

评估矩阵方法

通过多维度量化对比方案,核心步骤:确定维度 → 设置权重 → 评分 → 计算加权总分。

实战案例:React vs Vue 选型

场景:中型电商项目,团队 5 人。

维度权重ReactVue
团队熟悉度25%43
生态丰富度20%54
学习曲线15%35
TypeScript10%54
加权总分100%4.153.95

决策:选择 React

  • 团队熟悉度是最大权重维度
  • 生态和 TypeScript 支持更好
  • 虽然学习曲线陡,但可以带新人

权衡取舍方法

决策的本质是在约束条件下做取舍。原则:明确优先级、识别约束、评估代价、寻找平衡点。

实战案例:内部系统性能 vs 开发效率

场景:内部管理系统,50 人使用,1 周内上线,2 个前端。

方案优点缺点适用性
A. 极致优化体验好多 2 周,复杂度高❌ 时间不允许
B. 快速开发1 周上线,易维护首屏慢 1-2s✅ 符合约束

决策:选择方案 B

  • 内部系统容忍度高,数据量小
  • 时间紧迫,可后续优化
  • 取舍:牺牲极致性能,换取快速上线

风险评估方法

识别风险 → 评估影响 → 制定预案。

实战案例:微前端架构改造

风险矩阵

风险概率影响等级应对
性能下降🔴 高预加载、缓存策略
团队学习成本🟡 中培训、文档
子应用冲突🟡 中沙箱隔离

决策:分阶段实施

  1. 先改造 1 个非核心模块验证
  2. 建立性能监控
  3. 准备回滚方案

完整决策流程

1. 明确目标

定义清晰的目标和约束条件。

好的目标

  • 具体:提升首屏加载速度到 2s 内
  • 可衡量:错误率降低到 0.1%
  • 有时限:3 个月内完成

2. 列出选项

至少 3 个方案,包括"不做"。

3. 评估对比

使用评估矩阵,关键维度:效果、成本、风险、可行性。

4. 做出决策

综合评估,记录依据。不追求完美,追求最合适。

5. 执行验证

制定计划、设置指标、定期检查、根据反馈调整。


实战案例:是否引入微前端

背景

5 个前端项目,技术栈不统一(React、Vue、Angular),维护成本高。

目标:统一入口,降低维护成本,支持独立部署。 约束:3 个月内完成,不影响现有业务。

方案对比

方案优点缺点周期
A. 全部重写技术栈统一风险大6 个月
B. 微前端保留代码,独立部署学习成本3 个月
C. iframe实现简单体验差1 个月
D. 保持现状无风险问题依旧-

评估矩阵

维度权重A.重写B.微前端C.iframeD.现状
开发成本25%1355
时间周期20%1455
用户体验20%5423
技术风险15%2345
总分100%2.653.753.753.85

决策

选择方案 B(微前端)

理由:

  • 在时间约束内可完成
  • 保留现有代码,风险可控
  • 支持独立开发部署
  • 学习成本可通过培训解决

执行计划

阶段 1(1 个月):技术验证

  • 选 1 个非核心模块试点
  • 团队培训
  • 建立开发规范

阶段 2(1.5 个月):核心模块改造

  • 改造 2-3 个核心模块
  • 性能监控和优化
  • 完善文档

阶段 3(0.5 个月):全面推广

  • 剩余模块接入
  • 上线验证
  • 复盘总结

验证指标

  • 性能:LCP < 2.5s
  • 稳定性:错误率 < 0.1%
  • 效率:开发效率不降低

决策复盘

决策后要复盘,持续优化。

复盘框架

1. 回顾目标

  • 当初的目标是什么?
  • 是否达成?

2. 分析过程

  • 决策依据是否充分?
  • 评估是否全面?
  • 有没有遗漏的因素?

3. 评估结果

  • 实际效果如何?
  • 与预期的差距?
  • 出现了哪些意外?

4. 总结经验

  • 做对了什么?
  • 做错了什么?
  • 下次如何改进?

复盘案例:微前端改造

目标回顾

  • ✅ 统一入口(已完成)
  • ✅ 独立部署(已实现)
  • ⚠️ 降低维护成本(部分达成,通信复杂度增加)

过程分析

  • ✅ 评估维度全面
  • ❌ 低估了通信复杂度
  • ❌ 性能优化投入不足

结果评估

  • 性能:LCP 2.8s(未达标)
  • 稳定性:错误率 0.05%(达标)
  • 效率:开发效率降低 10%(可接受)

经验总结

  • 做对:分阶段实施,风险可控
  • 做错:性能优化准备不足
  • 改进:下次要提前做性能预研

常见决策陷阱

1. 锚定效应

被第一印象影响,忽略其他信息。

案例:听说 Vite 快,就直接选 Vite,没考虑生态和团队熟悉度。

避免:先列出所有维度,再评估。

2. 确认偏误

只看支持自己观点的信息,忽略反对的。

案例:想用新技术,只看优点,忽略风险。

避免:主动寻找反对意见,做魔鬼代言人。

3. 沉没成本

因为已经投入,不愿放弃错误决策。

案例:重构已经做了 2 个月,发现方向错了,但不愿停止。

避免:关注未来收益,不看过去投入。

4. 过度自信

高估自己的判断能力。

案例:觉得自己经验丰富,不做详细评估。

避免:用数据说话,多听团队意见。


不同场景的决策策略

小决策(组件选择)

  • 快速决策,不要过度分析
  • 可以试错,成本低

中决策(技术选型)

  • 使用评估矩阵
  • 考虑 5-8 个维度
  • 团队讨论,达成共识

大决策(架构重构)

  • 完整的决策流程
  • 详细的风险分析
  • 制定执行计划和验证指标
  • 定期复盘

提升决策能力

  1. 多实践:每次决策都用框架
  2. 多复盘:记录决策过程和结果
  3. 多学习:看别人怎么做决策
  4. 多思考:为什么这样决策?有没有更好的方法?

面试准备

准备 3-5 个决策案例:

  • 技术选型(React vs Vue)
  • 架构设计(微前端、SSR)
  • 性能优化(权衡取舍)
  • 重构决策(风险控制)

每个案例准备:

  • 背景和目标
  • 评估过程
  • 决策理由
  • 执行效果
  • 经验教训

记住:好的决策不是选最好的方案,而是在约束条件下选最合适的方案。

前端面试知识库