知识卡片

质量三角:成本、质量、时间不可兼得

普通读书笔记卡 · 2050

内容

软件项目的成本、质量、交付时间三者构成一个三角,理想状态下都想要——零成本、高质量、立即交付——但现实中最多只能同时达到其中两个。压缩交付时间同时保持成本不变,代价通常是牺牲质量;要保证质量和工期,成本就得上升。不同利益相关者对这三个角的偏好往往不同,架构师的职责之一是看清谁在意哪个角,并主动把这个取舍摆到台面上,而不是含糊地假装三者都能兼顾。

参考来源

- 位置:第2章《软件架构概念》2.3.2节「兴趣和关注点」质量三角形示例(源文件:_epub-src/OEBPS/text00011.html附近) - 结论依据:原文用质量三角形说明成本、质量、交付时间三者理想状态下都想要但现实中最多同时达到两个,并举例说明压缩时间或成本会牺牲质量,直接支持卡片结论。 - 原始内容:"我们经常用三角形来表示软件开发项目的一些重要属性,其中的三个角分别代表成本、质量以及推向市场的时间。理想状况下,我们希望项目拥有高质量、零成本,并可以立即交付,但那是不可能的……最好的情况是你能够达到其中的两个目标……构建高质量的系统可能会花费更长的时间,并且花费更多成本。我们经常可以减少最初定下的开发时间,但是,假设成本是不可变的常量,那么这就需要以付出降低交付软件的质量为代价。"