技术风险是任何可能阻止交付或在生产环境中出错的事物,包括未知因素、脆弱的依赖、扩展性限制、单点故障。TL的工作是尽早暴露风险并有意地降低风险,因为风险在您在其之上进行构建之前处理成本最低。
如何管理风险
text
1. IDENTIFY — what could go wrong? (unknowns, deps, scale, security, people)
2. ASSESS — likelihood x impact. Focus on the high-high quadrant.
3. ATTACK the biggest unknowns FIRST — spike, prototype, load-test
4. MITIGATE — reduce likelihood or blast radius (redundancy, flags, fallbacks)
5. MONITOR — track known risks; have a plan if they materialize
早期降低风险,而不是延后
最危险的风险是未知因素,这些是您无法估计的事物。首先通过 spike 或原型处理它们,以便在项目仍然便宜更改时了解真相。先构建容易、已知的部分感觉很有成效,但会留下地雷直到最后。
一个具体例子
项目依赖于您从未大规模使用过的第三方 API。不要设计整个系统假设它能工作,在第一周针对它进行原型设计。如果它无法处理您的负载,您现在就会发现,而不是在您围绕它构建完整系统之后。
