知识卡片
又快又好:快速软件交付的六个属性
内容
敏捷方法能打破”快和好不可兼得”的旧观念,靠的是六个DevOps属性协同发力:开发速率(代码里技术债务少,改动才快)、对正确性的信心(靠代码评审、自动化测试、小增量发布支撑,没信心就会犹豫不敢快)、可重复的部署(尽量100%自动化,人的创造力该花在特性上而非每次部署)、运行时的弹性(能应对流量增长)、来自监控的反馈(尽早发现问题、了解用户真实需求,否则方向不明再快也没用)、运行时环境的安全(频繁部署新特性时尤其重要,避免引入带漏洞的依赖)。六者组合起来,才构成有纪律、快速且敏捷的开发流程——只讲敏捷概念却没做到这六点的团队,本质上还是缺纪律的”快”而非真正的敏捷。
结构图:
flowchart TB
A["开发速率(少技术债)"]
B["正确性信心(评审+测试+小增量)"]
C["部署可重复(接近100%自动化)"]
D["运行时弹性"]
E["监控反馈(尽早发现问题)"]
F["运行时安全"]
A --> R["有纪律的快速敏捷交付"]
B --> R
C --> R
D --> R
E --> R
F --> R
参考来源
- 位置:《架构师应该知道的37件事》第4章《组织》之"4.5 缓慢的混乱并不是有序"·"4.5.3 又快又好"(源文件:_epub-src/OEBPS/Text/chapter004.html)
- 结论依据:原文逐条列出"开发速率……信心……部署必须可重复……运行时间必须有弹性……需要从监控中得到反馈……确保运行时环境的安全"六项属性,直接支撑本卡结构图。
- 原始内容:即使网站的构建系统已经有13年历史了,我一样会毫不犹豫地删除所有构建好的构件,然后从头重新构建和部署。