本文共 2551 字,大约阅读时间需要 8 分钟。
在这个概念爆炸的时代,CMM/CMMI在中国软件这片特殊的土壤上,曾经创造了并不完美的辉煌,也面对着诸多质疑和否定,一路走来,它会最终将被证明是一个伟大的经典还是一个因水土不服而彻底失败的理论呢?后CMM时代的软件过程改进又将如何演绎呢?以下,笔者尝试从CMM/CMMI以外的三个方面来探讨这个问题.....
有效的行为模式
据说中国第一个宇航员杨利伟是穿戴着一片成人尿不湿(俗称尿片)飞上太空的。诚然,这片尿片必将随着杨利伟的一飞冲天而永垂不朽,但这毕竟是中国航天人初试啼声时的权宜之计, 据说神六上天的时候已经没有这种令人多少有点尴尬的玩意了——这说明一个问题,有时为了一时的需要采取一些临时性的措施是无可厚非的,但这些临时性的措施应该尽可能的被及时的抛弃,但在我们日常的软件开发实践中,这片临时的尿片却往往远比我们航天员身上的来的顽固:
将“临时性”的行为永久化只是我们开发过程中诸多不良行为模式中较有代表性的一种,无论我们采用什么样的软件过程,首先必须从根本上杜绝这些不良的行为模式而建立有效的行为模式。建立有效行为模式的途径,首先是要让行为受到约束,行为的约束需要靠有效的方法和手段以及有效的机制来实现的,例如:静态代码检查和走读等等。其次,量化的管理也能为我们的行为约束提供有效的帮助,我们未必都要将我们的量化管理达到CMMI4级那样的标准,但几个不多但有效的度量指标往往会给企业的管理带来意想不到的效果,如可以进行各种分类统计的缺陷率指标等....。最后,非技术层面上的管理,如有效的惩罚和激励机制等都可以帮助团队最终将良好的行为习惯固化为一种良好的行为模式 。
有效的技术支撑平台 CMM/CMMI在为我们带来了先进理念的同时也为我们提供了实现这些理念所需的各种方法,诸如被告知我们需要根据项目的进展更新项目计划;又如我们被告知需要从需求到设计、实现及测试建立双向的可追溯性等等。然而这些方法在纯手工的情况下往往不具有可操作性,有时既便是在借助于部分工具的前提下仍然难以操作,本人曾经多少次看到软件企业的QA或PM们埋头于Project编制的计划和团队成员提交的工作日志间,辛勤而痛苦的根据工作日志所提交的任务完成情况更新项目的进展,然而不幸的是,这样做的结果往往并不理想——理由非常简单,因为MS Project(大多采用的是Pro而非Server版)并不足以提供项目跟踪所需的完整技术支撑。因此,所谓“工欲善其事,必先利其器”,要想有效的完成已定义的软件过程,必须首先建立有效的技术支撑平台,同时,技术平台的选择应该遵循以下原则:
依赖自我而不是外力构建的持续改进机制
CMM/CMMI的导入很大程度上都是依赖于外部力量——咨询 公司,当功德圆满,咨询方和公司成员喜气洋洋的拍完全家福照后,一切回归平静,软件企业中的软件过程在大多数情况下并不是持续改进而是渐渐衰退,甚至有些企业的CMMI软件过程最终只是成为某个文件柜中一堆尘封的故纸......。当然CMMI评审功利性的出发点(拿证)是造成上述这种现象的一个重要原因,然而另一个重要的原因则是CMM/CMMI的导入大多数情况下其驱动力来自外部而不是来自企业本身,当这个外力消失以后,其软件过程改进往往就裹足不前甚至不进反退,因此构建基于内力而不是外力的持续改进机制是保证企业软件过程持续改进的关键。要想做到这一点,建议从以下几个方面入手:
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/12639375/viewspace-151864/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/12639375/viewspace-151864/