◆质量保证活动
项目进行过程中需要进行哪些质量保证活动?对于管理过程,技术过程,各阶段的输出都需要有相关的质量保证活动。在一些组织中,确定质量保证活动确定质量保证活动急促和草率的编程往往是一件常见的事。程序代码充满错误但能很快完成编程的程序员往往能得到更多的奖励。而高质量的程序员。虽然编出的程序优秀而且确保其是可用的,却往往得不到这种礼遇。[注]代码大全专门提及到质量保证活动的一个重要作用是让开发人员意识到软件质量是第一位的,形成质量意识,但这点却经常无法做到。
◆测试策略和计划
测试策略或计划一般需要单独出相关的计划或文档,但整个测试策略仍然要以项目需要达到的质量目标为依据来制定。
◆软件工程准则
需要遵守的生命周期模型,需求规范,设计规范,编码规范,界面规范,测试流程和规范等。这些都属于软件工程准则的内容,而且很多规范要在项目一开始就约定好并严格执行,这样才能够保证项目成员有共同的语言。
◆评审
预防总是比补救的成本低,因此评审在软件开发中更应该受到关注。正式的审查,非正式评审,互查,代码Review和走读等都是很好的评审手段,项目应该根据实际情况和质量目标来确定各阶段采用哪些评审方式,评审的覆盖率目标等。
◆质量数据的度量
质量保证计划的结果应该是可以度量的,否则无法知道改进工作的效果。因此在质量控制中我们关注对结果进行度量,分析度量数据以判断实际的数据是否满足了预先定义的质量目标。当偏差超过我们预定义的限度后还要分析问题,查找根源,进行纠正和预防。
根据《编程效率》一书,没种方法发现缺陷的比例在通常情况下都不会超过65%,因此为了达到质量目标一般需要联合使用一种或多种方法或活动。
3.软件质量的一般原则
提高效率和质量的最好方法是减少代码再加工的时间,不论再加工是由于要求的变更、设计的修改或调试调试通常要占一个传统的初始软件开发周期的50%。消除掉防止错误的软件调试可提高生产率。因此,缩短软件开发时间最为明显的方法是提高产品质量,减少调试和再开发软件所需时间。
如果不顾质量而只是想用最短的时间将软件开发出来,往往很可能需要较长的时间和花费超出。从一开始就着眼于取得最高可能质量和可靠性的软件开发,易于取得最好的开发进度、最高的生产率甚至是最好的市场成功率。
前期活动较后期对产品质量有更大的影响,你在前期活动中所投入的时间将会节省更多的后期时间。其结果是较少的错误、较短的开发时间和较低的代价。