业余围棋选手疑用AI作弊:棋法与
软件之家

做好软件过程管理应当集各家之长成自家体系

  在《实用软件工程》一书中,总结了软件工程中的3类过程管理,分别是ISO9000、CMM和软件企业文化。见下表。

  这3类过程管理,各有各的特点。使用其中任意一种过程管理方法都可以完成软件过程管理的任务。可是,要真正对软件过程管理产生实效,实现通过控制软件过程质量,提高软件产品质量,就不能一味地生搬硬套,必须将这些过程管理方法本地化,形成适合本组织研制环境的软件过程管理体系。

  建立软件过程管理体系,目的并不是让体系符合XX标准或XX管理方法。建立体系的根本目的是规范组织的软件研制活动,解决软件研制过程中存在的问题,提高软件产品的质量。而要达到这个根本目的,就必须要考虑适应本组织既有的软件开发环境,考虑如何解决本组织已经暴露出来的软件问题,并按照这些标准/方法给出的体系框架,制订有针对性的管理要求,这样建立起来的软件过程管理体系才能真正发挥作用。

  前面所说的,考虑本组织的“软件开发环境”,实际上已经暗含了这个内容。很多组织在推进CMM时候,组织已经具备了ISO9000的质量管理体系,也都形成了自己的企业文化。所以组织要推进CMM,必然绕不开ISO9000质量管理体系和组织自身的企业文化。所以要做好基于CMM的软件过程管理体系,就必须要和另外两种过程管理方法融合。集三者之长,方能形成有效的软件过程管理体系。

  CMM这套过程管理方法,从软件开发活动的策划,需求的获取、开发,软件的设计、实现、测试以及交付,这些软件开发的主要活动都有详细的要求。搭建软件过程管理体系,应以它为基础。

  从ISO9000质量管理体系的20多个质量要素来看,它除了设计控制程序之外,还有很多硬件的生产、检验等要求,这些将是对CMM过程管理方法的有效的补充。

  一个好的组织,必然都有其先进的文化理念。在建立组织的软件过程管理体系时,应当继承和发扬这些优良的企业文化。比如,“团队”、“创新”这样的企业文化。如果企业文化是“团队”精神,就应当在软件过程管理体系中,更加注重发挥团队的力量;如果企业文化是“创新”,就应当在软件过程管理体系中,鼓励项目中引入新的实践,而不要囿于既有的实践。