CMMI相关的成熟度阶段
全世界通过CMMI5级的公司很多,但并不是每个通过的企业都能提供优秀的产品,都是市场的领先者。相反,全世界优秀的软件公司很多,几乎没有几家是通过CMMI5的。中国的软件企业缺的不是知识,缺的是实践。什么CMMI模型,什么CMMI级别,让我们开始真正的软件过程改善吧。
通过改善过程的品质,来改善过程产物的品质,是二战之后的戴明主义理论和实践的基本经验,得到了工业和服务业实践的佐证。从汽车工业和麦当劳的经验看,传统行业和服务业的过程和品质已经非常成熟,并且形成了工业工程的方法论体系。无论是麦当劳还是汽车制造,都可以达到一致的和可预测的品质。
相对而言,软件工业是非常年轻的行业,还远远没有成熟。
软件业要持续改进过程
从1968年到1969年,在NATO(北大西洋公约组织)的会议上,学者提出了软件危机和软件工程的概念,标志着软件进入工业化时代,同时也意味着软件工业到现在只有不到50年的历史。在短短50年的历史中,可以说,软件自身技术和方法的发展是爆炸式的,软件的应用范围的扩张也是爆炸性的,社会大众对软件的期待也是爆炸性的。正因为如此,开发软件的方法论到今天都还没有稳定:Best practice不断出现,还无法达成广泛的共识;State of art不断更新,不断有新内容充实进来;IEEE和ACM联合制定的软件工程的知识体系还无法获得一致的认可。
软件行业还远远没有进入稳定和成熟的阶段。正如同CMM模型是TQM模型在软件行业上的映射,软件行业必须通过过程的改善来建立一致的和可预测的软件生产过程,提高软件品质,尽快使软件行业进入稳定和成熟阶段。
但软件工业与制造业和服务业又存在明显的区别,软件行业的过程改善具有与传统行业显著不同的特征。软件工业与传统工业相比最大的差异是:传统工业是围绕机器的,人处于辅助位置;软件工业是围绕人的,机器处于辅助位置。在制造业中,只要建立起机器系统,那么在必备的能源、润滑、温度控制的维护下,机器就可24小时连续运转,甚至可以达到无人值守的状态。简单地说,机器是可靠的,不受时间、空间和外界环境的影响。而在软件工业中,不同人的差别是很大的。即使同样的人在不同的时间、空间和外在环境的影响下,也会表现出完全不同的能力。同时,人不能长时间连续工作,需要休息和恢复,否则工作效率会降低。简单地说,人是不可靠的。因为人是不可靠的,必须通过团队的力量,借助流程的控制,来及时发现和弥补个人工作中的失误和错误。
Humphrey在SEPGChina2007上说,软件工业是第一个知识工业。由于知识工业与传统工业的差别,使知识工业通过过程改善来提高品质的努力更加困难和复杂化。
过程改善不只是CMMI
形式上通过CMMI对于复杂而且须持续进行的过程改善没有什么实质性意义。
文章来源于领测软件测试网 https://www.ltesting.net/