下面都是CMM中的一些思想,中小企业没有必要非要过CMM多少级,也不用非要全部使用它的KPA,但是可以将CMM好的方面来利用,以达到提高组织开发能力的目的。
1)CMM3想要达到的组织级知识共享
确立部门发展的技术方向,然后建立自己部门的知识库。
a.可以设立兴趣小组,每个小组有一定的课题,
例如测试小组可以做自动化测试的实现之类的课题。
AppServer小组可以做主要AppServer的调研工作。
b.还有设立专门的讲座,让项目中的组员讲解在目前项目中的技术。
最后将所有成果物形成文档,放到知识库中。
c.如果有多个项目,还是开展peer review.
2)CMM5的想要达到软件过程改进
对于目前项目中存在的重大问题,成立课题组来对应。
可以采用PDCA的方式,或者是SEI 建议的IDEAL对重大问题进行改进,
例如
a.对于测试负荷过重的问题,可以寻找自动化测试工具和自我培训结合来改进。
b.对于典型问题屡犯的时候,可以用错误列表管理工具(例如Bugzilla)管理,然后每周末安排一小时让开发人员回顾查阅错误列表。
具体的改进手法你可看看PSP/TSP的相关内容。
改进的成果要总结。做的好的和做的不好的都要总结,放入知识库和软件开发流程指南中,成为下一个项目开始前的指导内容。
3)对于CMM4的内容我不建议作,是应为这部分要达到一切可测量和一切可预测是要下很大的数据收集和分析的工作量,对于新起步的部门来说成本负担过高。
但是对于基础的数据必须积累,
例如项目整体开发行数,开发工数,测试工数,需求变更件数,bug数目,每千行的bug数...等等,这些可以参考PSP的相关内容。
这些对于以后部门开发能力的再提高事先准备好基础。
备注:
1)SEI 建议的IDEAL模式
IDEAL 是个组合字,实际代表:
I Initiating(创始)为成功地进行过程改进而打好基础。
D Diagnosing(诊断)找出相对于你要达到的位置,你现在在何处。
E Establishing(建立)计划你如何达到你的目的地。
A Acting(行动)按计划进行工作。
L Learning (学习)从经验中学习和改进你在将来采用新技术的能力。
2)软件过程改进的步骤是:
1.把要想达到的状态与目前的状态作比较,找出所有差距;
2.决定要改变哪一些(注意,不一定是全部)差距,要改变到什么程度(可分阶段改);
3.制定具体的行动计划;
4.执行计划,同时在执行过程中对行动计划按情况进行调整(以最佳效果为目标);
5.总结这一轮改进的经验,开始下一轮改进。