思步网

查看: 75105|回复: 18
打印 上一主题 下一主题

如何利用CMMI实施软件过程改进

[复制链接]
如何利用CMMI实施软件过程改进
$ p9 j7 h4 v% T* b
    CMMI全称是Capability Maturity Model Integration, 即软件能力成熟度模型集成模型,是由美国国防部与卡内基-梅隆大学和美国国防工业协会共同开发和研制的。CMMI是一套融合多学科的、可扩充的产品集合, 其研制的初步动机是为了利用两个或多个单一学科的模型实现一个组织的集成化过程改进。: ~2 A$ _7 V$ W0 `) A* x

CMMI分为五个等级,二十五个过程区域(PA)。
* ?/ Q7 t% @$ S7 R/ N4 R
1. 初始级 软件过程是无序的,有时甚至是混乱的,对过程几乎没有定义,成功取决于个人努力。管理是反应式的。 7 f! |7 l- F% Y

2. 已管理级 建立了基本的项目管理过程来跟踪费用、进度和功能特性。制定了必要的过程纪律,能重复早先类似应用项目取得的成功经验。

3. 已定义级 已将软件管理和工程两方面的过程文档化、标准化,并综合成该组织的标准软件过程。所有项目均使用经批准、剪裁的标准软件过程来开发和维护软件,软件产品的生产在整个软件过程是可见的。
$ e/ z( Y# n  S( R( O0 \' t
4. 量化管理级 分析对软件过程和产品质量的详细度量数据,对软件过程和产品都有定量的理解与控制。管理有一个作出结论的客观依据,管理能够在定量的范围内预测性能。 1 `. q+ \7 R& l3 w
, L1 B5 s, P& [
5. 优化管理级 过程的量化反馈和先进的新思想、新技术促使过程持续不断改进。 ( x) n6 l% c) a$ x' k7 d

    CMMI4,5级高成熟度等级强调数据和量化项目管理,前提必须是过程本身已经稳定,而且组织已经有成熟易用的软件开发过程管理支持平台,日常的任务反馈,变更和缺陷记录等都应该融入到日常工作中。数据的采集要尽量自动化,而且数据的收集不能经常打断开发人员的工作,影响到他们的思考和效率。
% e0 h! @; @* R- W" z7 E
    组织级在技术平台和开发模式不统一的情况下,在过程定义上一定要避免一刀切的标准软件开发过程。需要根据项目本身的特点和人员情况在满足项目目标的情况下进行适当的裁剪。  q# D2 E& P2 \; E# m$ G% H0 z
2 a5 A# V: @5 d; \+ h) j0 G5 }
    软件是人开发出来的,过程重要但是人更加重要,两者必须要考虑结合起来,任何强调和夸大一方面的都不合适。对于小型敏捷团队我们更加强调人的重要性,对于大型软件项目可能更加强调规范和过程的重要性,这必须要结合项目特点和实际情况。% p6 r* v7 K7 k* F  |# F4 f

    所有认证和培训的市场,到中国就变味的原因,还是在于管理层的急功近利和不务实的态度,结果过了CMMI只是完成了一个形象工程和招标谈判的筹码。如果CMMI过程改进没有为组织真正带来质量提升和效率的提高,那么就很难长久。- U% r: D7 f1 [
0 r$ G* m% U/ e/ ]
    CMMI提供了对多次迭代和快速原型的支持,但是实际上很多的PA,很多的评估师给出的建议仍然是基于瀑布模型的。而在实际的软件开发中,特别是交付周期只有2-3个月或更短的项目,很难基于瀑布模型进行开发。$ }: D( N7 D- z% P+ Y

    全部遵循了CMMI的过程规范和要求,项目是否就一定能够成功?在这里答案仍然是不一定,关键的问题还是CMMI基于了太多的假设,比如组织能够提供技能合格的人员,需求基本上都能够保证是稳定的,而这些假设往往本身就无法满足。CMMI给我们一个基于很多假设的理想模型,而实际情况就是如果这些假设都能够很好的满足的话,可能你并不需要CMMI也可以很好保证项目成功。

    CMMI强调证据,数据,过程和文档。CMMI告诉你需要做什么,你需要有证据来说明你确实做了,因此准备数据和文档过程是一个要耗费很大成本的过程,在前期我们本身还不成熟的时候更关心的是一项工作投入成本做了以后带来的实际效益即投入产出比。比如需求追踪会被我们经常认为是性价比不高的工作。
4 P9 g) @" a) R3 ]- X
    一个成熟的敏捷团队自然就具备CMM5级的成熟度,因为我们在面对项目时解决问题的过程是清晰的、可重复的、可度量的、可管理的、自我优化的。如果在软件过程改进中没有达到这些目标,就没有达到真正的改进效果。& Q& n& y& c) [
9 T* _. I  s! |6 \( ?
    文档不能完全代替沟通,但是不能够否认文档和代码的重要性。当我们注重开发过程的管理和规范的时候,软件项目和团队会走向成熟,而过程成熟的一个好处就是整个项目和团队不会完全依赖一两个牛人。项目在不断执行过程中的先进经验和教训能够真正的固化到过程中,形成组织和项目重要的资产。

    CMMI每个PA需要做的事情,CMMI不会告诉你怎么去做,但是你必须要首先搞清楚的是为什么要做这件事情,其意义何在?我们在进行软件过程改进的过程中必须是目标和问题驱动的,这样才能够有批判的主动去改进。



上一篇:从CMMI角度分析公司管理缺陷
下一篇:CMMI5在项目中的应用
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 转播转播 分享分享 分享淘帖 支持支持 反对反对
回复 论坛版权

使用道具 举报

本帖最后由 sockpuppet_real 于 2012-4-17 11:22 编辑

LZ,LOUZHU,你在哪听说CMMI有25个PA,你告诉我哪二十五个呗? 让我再张张见识!


sockpuppet_real 发表于 2012-4-17 11:19
LZ,LOUZHU,你在哪听说CMMI有25个PA,你告诉我哪二十五个呗? 让我再张张见识!

有这么多吗?
stepoo 发表于 2012-4-17 11:23
有这么多吗?


是呀,我也不知道呀! 我做CMMI 近6年了!第一次听说,可能我老了,头脑不灵光了吧!所以请教LZ嘛
[发帖际遇]: sockpuppet_real 在网吧通宵,花了 10 (金) 金币. 幸运榜 / 衰神榜
sockpuppet_real 发表于 2012-4-17 11:25
是呀,我也不知道呀! 我做CMMI 近6年了!第一次听说,可能我老了,头脑不灵光了吧!所以请教LZ嘛

可能笔误吧。
stepoo 发表于 2012-4-17 11:28
可能笔误吧。

我的意思是文章有点浮,没有营养?没有说到主题“如何利用CMMI实施软件过程改进”的根儿上!
[发帖际遇]: sockpuppet_real 在网吧通宵,花了 2 (金) 金币. 幸运榜 / 衰神榜
不错哦,收藏了~~~
看帖要回,回帖才健康,在踩踩,楼主辛苦了!
没人回帖。。。我来个吧!
众里寻他千百度,蓦然回首在这里!
顶不错 支持下
学习下我只是路过,不发表意见……
看了LZ的帖子,我只想说一句很好很强大!
不错 支持一个了
很有借鉴意义,先收藏了,谢谢楼主。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

思步组织思步科技|思步网|火花学堂|思步文库|思步问答|思步英才|天下心
© 2007 思步网 浙ICP备10212573号-4(首次备案号:浙ICP备07035264号)|邮箱:service#step365.com(将#换成@)|服务热线:0571-28827450
在线培训课程|求职招聘|思步文库|官方微信|手机APP|思步问答|微博平台|官方QQ群|交流论坛|软件工程透析|关于我们|申请友链|
点击这里给我发消息     点击这里给我发消息
思步 step365 过程改进 CMMI中文 质量保证 质量管理 流程体系 需求跟踪矩阵 敏捷开发 Scrum 软件度量 项目评审 全员改进 流程管理 人力资源 6sigma 信息安全 ISO27001认证 IT服务管理 ISO20000认证 ISO9000认证 软件测试 SQA 配置管理 IPD 软件工程 PMP认证 PMP试题 PMBOK中文 精益研发 agile 顾问式管理培训
返回顶部