我们的质量成本是如何分布的?反思需求错误导致的成本是修复程序错误成本的100倍改进质量的途径-?尽早消除缺陷需求设计编码单元测试系统测试集成测试交付使用缺陷数在总体注入缺陷相同的情况下,尽早地消除缺陷可以使交付产品的质量大大提高1:2定律在开发中,每花费1美元,在维护中就得花费2美元,因此要注意度量改进维护的度量元•1在我们公司的项目中维护成本与开发成本的比例是多少?•2我们在需求开发、设计过程中为了降低维护的成本采取了哪些措施?反思Weinberg可靠性零定律如果一个系统不要求是可靠的,那么它能够满足任何的其他目的换句话说,如果对实际工作的程序没有要求,那么你能满足任何设置的编程交付期•在限定了资源,而项目工期又比较紧张时,我们通常牺牲了什么?我们是否真的加快了进度呢?反思1:3:9定律随着软件系统规模的增大,其成本成倍增长,呈现1:3:9的关系,称之为软件产业的非规模经济现象•1我们如何降低软件的开发成本?•2为什么提倡采用迭代的生命周期模型?•3为什么提倡小项目、小团队?反思帕金森定律(Parkinson’s?Law)工作总是用完所有可利用的时间(Workexpandstofillthetimeavailable)如果你给自己安排了充裕的时间从事一项工作,你会放慢你的节奏以便用掉所有分配的时间容易达到的目标将使员工工作上变得松懈•1如何规避帕金森定律?•2如果整个项目有20%的缓冲时间,你会如何分配这反思20%的缓冲?布鲁克斯定律(Brooks’?Law)人月=人*月,但是:月≠人月/人投入更多的人到一项延迟的工作上,可以导致该项工作更加延迟BarryBohem:可以将软件开发进度压缩25%,但是不能再多了200/20/6X现象:人数增加1倍,工期缩短20%,缺陷增加6倍•1在实践中,我们是否经常通过给项目组增加人手的方式加快进度?反思•2有哪些合理的加快进度的措施?