软件质量管理的发展经历的三个发展时期
软件质量管理是现代软件开发必不可少的一环。为了保证软件的质量,软件质量管理在发展中经历了三个不同的阶段。
第一阶段认为质量的问题在于纠错率,即“水平”,着重于纠正质量缺陷。这个时期,开发人员将注意力放在制造出无缺陷的产品上,以便未来不会浪费更多的资源在维修和修复上。
第二阶段强调过程控制,即将精力放在如何有效组织和管理开发过程上,从而实现在不断变化的环境中达到质量目标。这个时期的引进新的软件工程标准和软件过程改进方法(CMM / CMMI),珍视规程和流程、标准化、监测、度量等软件过程。
最近的第三阶段提倡质量保证,即将质量整体控制置于产品开发的起点,不仅限于制品纠错或过程优化,在开发活动的整个生命周期上实施全面的保障措施。此时,软件产品的质量不是人为强加于过程构造的结果,而是由内部风险和机遇所引发的。
发展阶段背景
第一阶段阶段主要在1960年代末和1970年代早期出现,目的是确保计算机软件的准确性和正确性。当时的市场竞争压力较小,客户需求不高 ,众多软件开发人员觉得这是一个“黑箱”操作过程:输入代码,输出机器语言。在这种优越的生态环境下,代码的正确性是唯一的关注点。
软件质量管理的发展到了第二阶段是在20世纪90年代初。在此期间,软件领域出现了大量复杂的系统和大规模互联网应用程序。软件工程标准和软件过程改进方法(CMM / CMMI)的提出说明了对软件质量的过程方法化。技术的革新、质量和稳定性的关系,使得企业必须考虑如何使其生产的软件质量得到保证和提高。
第三阶段则是在21世纪初期开始出现的,是基于在第二阶段吸取的经验教训,开发了更高效的软件模型及更好的QC工具和方法。第三阶段的主要目标是“保障”,即在软件开发过程的整个生命周期中,不断发掘和处理,以便及时解决问题,从而实现更可靠和更高质量的产品。
软件质量管理的演变
软件质量管理在这三个阶段之间发生了巨大的演变。在第一阶段,对软件的正确性和准确性进行了测量和测试,重点是纠正缺陷和错误。在二阶段中,软件质量管理专注于过程的质量和控制,重点是通过过程控制克服软件开发中出现的困难,提高开发效率。在第三阶段,软件质量管理在软件开发全生命周期中具有重要意义,主要通过质量控制、质量规划和质量保证以降低风险。软件质量管理的每个阶段都是具有自己特定目标的,在整体上,软件质量的发展渐趋完善。
亟需这样一个周期
对于当前的软件质量问题,一阶段提出的纠错和二阶段的过程控制仍然是解决软件缺陷的有效方式,但无法想象可以通过这两个阶段来真正推进软件行业的质量。第三阶段的出现,则是一个鼓舞人心的信号,它可以实现全生命周期的软件质量管理,以及对软件性能和用户体验的不断优化。对于开发人员和企业,从事软件质量管理需遵循这种演变中的方式,紧跟潮流。