第14章 质量保障
软件的质量,软件要符合用户以及利益相关者的需求。软件质量 = 程序质量 + 软件工程质量。程序的质量,程序的质量体现在软件外在功能的质量。衡量软件的功能,基本的判断可以用“是|否”来判定。软件工程的质量软件的开发过程有三个主要的特性:“好”、“快”、“便宜”。软件开发过程的风险控制,软件开发过程中有种种依赖关系,有些项目的进展经常被这些因素打断,要控制这些风险。软件工程的质量,如何衡量既然软件工程的质量对最终软件的质量,其中一套比较成熟的理论是CMMI。CMMI一级,初始级。CMMI二级,管理级。CMMI三级,明确(定义)级。CMMI四级,量化管理级。CMMI五级,优化级。 质量的成本,要达到一定的软件质量,是要付出成本的。
测试角色独立出来,分工是社会和行业进化的结果,开发和测试其实是软件工程的两个分支,对于不同的软件/服务,测试的方式和程度都有所区别。
第15章 稳定和发布阶段
一个团队经历了计划/设计/开发等阶段,达成代码完成(Code Complete)这一目标,似乎后面的事情就水到渠成了。其实不然,软件生命周期的最后阶段往往是最考验团队的,不但考验团队项目管理水平、应变能力,也考验团队的“血型”。
会诊小组(Triage Team),软件团队的各个角色代表(PM/Dev/Test/UX等)组成了会诊小组,处理每一个影响产品发布的问题。复杂项目的会诊,在稳定阶段的初期,团队只要决定需要修复哪些缺陷,然后团队成员就会进行必要的设计、实现、测试工作,并签入代码修改。但是,随着项目进展和发布日期的临近,团队还要保证修改方案不会给产品带来负面的影响。
在我们的团队里面,在稳定和发布阶段,也发现了不少bug,有些是因为设定的问题,有些事程序的问题。我们先将一些重要的错误修改完成再修改小的,有些设计的问题需要重构代码,我们就放到下一个版本。
几个招数:招数1设计变更,招数2:ZBB,招数3:最后回归测试,招数4:修复Bug的门槛逐渐提高,招数5:逐步冻结
第16章 IT行业的创新
创新有时就是灵光一闪的事情,可能就是看到想到,就有了灵感。有时则是几代人的努力。人们不见得都喜欢创新,创新的东西,和可能要受到一些守旧思想的阻挡。创新者不都是一马当先。有些公司也是后起之秀,但是做的比前人要好。不一定是领域内的专家才能 创新,专家也不一定可信。创新要在调查之后,对数据进行分析,找到最合适的机会和目标。才能进行有进行有效的创新。