思步网

查看: 51330|回复: 117
打印 上一主题 下一主题

[连载] 09年中国首家过CMMI ML4的总结分享

    [复制链接]
其实做完CMMI以后想想好像也没什么可讲的,所以一直拖到现在也没有做个详细的总结。 我们公司从去年开始就打算做四级了,本来打算去年10月份评审的,但是由于出了1.2A所以延迟。简单的来说,个人觉得,四级就是要把之前三级以前收集的数据进行汇总分析。
其实在三级的时候,或者说一般的软件公司,已经有相关的数据,只是没有系统的进行收集和分析,比如说缺陷个数,系统规模,模块规模,开发时间等等。很多时候,这个一般的员工没有去收集和分析,领导看来也只是认为项目不停的在加班,在延期,人手不足,项目的bug数一直降不下来,项目款项收不回来,可是没有仔细的去分析这些数据。
我们在做四级的时候,开始一段时间也是在培训,看资料,同时注意收集数据,评估师在开始做四级的时候,把cmmi的知识培训了一遍,然后重点告诉我们四级侧重的就是数据的分析,然后指导并引导我们的思维去发现需要收集哪些数据。比如对于一个项目,一般的人员都会说可能涉及的数据是开发的时间(周期),开发人员,测试的时间,发现的缺陷数等等。其实这些就是数据,但是我们没有看到内在的联系,以及其他潜在的数据,比如说开发人员,我们是否想放到过开发人员的水平,这其实是个很重要因素。人员水平是不是和人员个数成正比,或者说对项目而言是不是人越多越好

我想学过数学的人应该都知道,其实是有个临界点的。 就像抛物线或者是一般的曲线,都有个拐点,达到这个拐点可能是最佳或者是最差的情况,四级就是在收集的这些数据的基础上,对数据进行分析,找到适合我们项目和我们公司的最佳的一个组合。 这就需要建立数学模型,画出直接的图形,能直观和透彻的进行说明,这样的东西才有说服力,才能让研发人员和项目经理乃至公司高层相信,我们的公司要根据这样的组合才能达到最佳。四级的精华也就在此,cmmi检查的也就是一个公司是否达到四级,有哪些数据和分析,说明他们达到了,说明他们在不断的改进和提升。


上一篇:【MA】关于CMMI4的度量
下一篇:CMMI认证评估的大致流程步骤

评分

参与人数 1金币 +30 收起 理由
思步 + 30 原创内容

查看全部评分

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 转播转播 分享分享 分享淘帖 支持支持2 反对反对
回复 论坛版权

使用道具 举报

恭喜拿第一,楼主继续。期待中...
当然,同样要强调的就是,这些东西不是仅仅是QA SEPG成员知道就行的,要求所有研发人员都知道,这就是培训的问题,中国很多的公司,做CMMI,可以说是就是质量部,或者QA来完成的,QA把所有的东西准备好了,然后评审,真正意义上的,或者说严格意义上是需要全员掌握的。QA是一个职能岗位,要做到上通下达,你的工作不是你一个人就能完成的,是需要各部门配合的。当然有些工作,很多时候可能就是QA做了,比如说数据收集
以及开始的建立模型等等,因为参加培训的只是少部分人,而且研发人员也不可能整天在忙这个。所以QA在做一些工作的时候,需要将自己的成果通过培训或者会议的方式传达个各研发人员,让别人知道你在做什么,你做的东西有什么用。
在收集的数据以后,我们需要筛选,比如说,我们发现影响系统缺陷数增加的因素很5个,那我们要分析,哪些是可用的,哪些是不需要的,或者说影响比较少,不需要的。同时要注意,如果有相关性很强的两组数据是否可以同时作为参考,会不会影响到今后的建立模型。比如说,我们从A地到B地1000米的话,我们走路需要30分钟,但是我们打的的话,只需要10分钟,但是要花30块钱,这就可以建立一个简单的数学模型。但是10分钟和30块钱,在这里是相关性很强的两个数据,我们需要考虑是否只要取一个数据就行,这是个简单的例子。
再比如刚才提到的研发人员水平和研发人员个数,当我们建立模型的时候,我们取的数据比如说是人员水平的一个累加,那我们可以考虑不用人员个数这个因素,因为这两个是有直接关联的。当我们发现影响缺陷数的因素有1个时候,我们可以建立,一元线性方程,如果有多个的时候,我们就可以建立多元线性方程。比如说,我们发现这个系统有5个bug,花费了10个小时的开发时间,4个人参加,人员的水平累计是12,系统的规模是1000行
那么我们的模型可以是Y=10X1+4X2+1000X3.....
通过类似这种方法,通过一些统计软件和分析工具,可以建立起一个多元线性模型。当然,这个只是第一步,就是你知道应该通过这些数据的分析,找到他们的联系,但是这些x因素是不是真的确实可行,对y的影响是不是能起到作用,这个是需要进一步分析的,而不是光凭表明观察可以看出来的。
这个时候我们会用到回归分析。x间关系、y和x关系的分析,来对x进行选择,从而找出真正能对y起到决定影响的x。比如说y=ax1+bx2+cx3+e 其中x1 x2 x3和y的关系是不一样的,可能a=0.6 b=0.3 c=0.,那这样我们可以看出,X1对y的影响更明显。回归分析,在我们使用的excel表格中就有,可以简单的得出我们需要的一个线性方程

评分

参与人数 1金币 +4 收起 理由
路人丙 + 4 精品文章

查看全部评分

mark,继续关注
继续关注,期待中。。。。
我们用历史数据得出模型,可以作为我们项目级或者组织级的模型
比如说,我们得到的模型是根据公司所有项目的数据得到的一个模型
这个建立的就是我们公司PPB。ppb=project process baseline 这样就得出了我们组织级/项目级的一个基线。
对这个基线我们进行分析,里面的数据是否是最佳的,是否能够进行改进,比如我们通过什么方法可以减少开发时间,如果把开发时间达到一个较好的水平,那我们的模型是不是会发生变动,在ppb的时候,我们有散点图,可以得到一个曲线,在这个曲线上我们可以看出那个是最佳的值,也就是之前提到的“拐点”。如果我们对数据改进以后,这个最佳值会发生变动,曲线也会发生变动,从而有改进以后的模型,就是我们的ppo,ppo=project process object 。
这其中就有三个步骤,建立ppb,进行psp改进,得到ppo ,这是这个阶段我们项目级/组织级的一个标准。 之后我们的项目,根据这个标准,根据模型来控制我们的活动。在有新项目或者新数据以后,我们把我们的新数据增加进原先模型,进行改进,发现是否会建立一个更完美的模型,这样就会建立新的ppb,从而有新的ppo。
通过这样的活动,我们的模型会变得越来越好,我们的ppb和ppo的区间会变得越来越窄,我们的过程也就越来越稳定。
sei要看的就是你在不断的改进公司的模型,过程不断的稳定,这就是四级要达到的效果。
其实,我更关注的不是为了过4级而过4级,而是你们在过了4级后,在员工的日常作业过程中,对于工作质量等的提高上,有没有一些明显的加分?

希望你也能分享分享。。。
希望能和LZ多交流!
如果能按照CMMI的要求,一步步的执行,对项目的执行肯定是有帮助的。例如我们建立了一个工作量的模型,知道了我们项目一般的开发周期是多长时间,我们的项目经理在开始做项目计划的时候,就会以这个为标准,进行制定计划,安排人员。在项目开发过程中再不断的检查和比对我们的PPB,从而提高项目的开发效率,降低开发成本。
想问楼主:能不能提前介绍下QPM是怎么做的?
我对PPB=project process baselin有点疑问
我们说PPB是指过程能力基线,一般是说组织级建立过程能力基线
为何在您的文章中说是得到的项目级基线?
项目级的基线是如何得到的?又有什么用?

6# lanj
其实概念是一样的,可能我们和你们的表述方法不一样而已。
至于你说的项目级的基线如何得到,我在上面的文章里面已经提到,你可以看下。
其实是生成组织级或者项目级的基线,这个是根据各位自己公司的需要的,比如我们公司,项目总的情况是一样的,但是又分几大类,所以就分别由项目级和组织级的。如果一个公司只做一类产品,那么只有组织级的基线就行了。
当我们每隔一段时间对我们的基线进行更新的时候,我们就能发现我们的项目改进情况,整个公司的改进情况。
好久没码字了,被人说了~~
现在说下数据收集这块
数据收集其实很多之前做过CMMI的公司我相信都有在做,数据的收集对于cmmi来说非常的重要,我们需要通过“数据”来说话,所谓的“有据可查”。
在数据收集之前,我们要先确定我们需要哪些数据?这可以通过倒退的方法来考虑。比如说我们需要的是对缺陷率的分析,那可能涉及到数据就有代码行数,模块规模,开发人员的数量,开发的环境,开发的工具.....将这些可能影响到缺陷率的因素都罗列出来。然后对这些因素进行分析,有些是有直接影响的,有些是有间接影响的。我们需要找出对缺陷率影响最大的几个备选因素。这个过程,可以通过一个图标的方式进行,这样会更加直观和明确,也不会出现遗漏。
在找到相关因素以后,我们开始对数据进行收集。在收集的时候,我们要考虑我们项目的情况,比如说我们是要收集项目的数据,还是组织级的数据。如果是项目的数据,那我们的小项就应该是各个模块的数据,如果是组织级的数据,那就是各个项目的数据。不同类型的数据得出的是不同类型的模型。在数据收集的时候,我们同样要注意,我们是否可以考虑把模块/项目规模大小相近的数据放在一起进行分析,或者是相似产品的数据,这样得出的模型更有说服力。(同时要注意,根据一般电脑统计软件的规则,我们一般要求数据不少于15组或者一定组数的要求。)如果没有足够的组数,我们可以考虑几个类似的项目模块放在一起进行分析。
同时在数据收集的时候,要注意相关的格式要统一,比如统一使用每千行,或者是每行,开发时间是采购小时或者分钟。这些细致的问题也不能忽略。
数据收集的过程,很多时候是基于原先的基础,如果一个公司之前没有对任何数据进行收集,那要对数据进行分析的话,工作量就会非常的大。所以我们尽量考虑用我们目前可能收集到的数据,或者是便于取得的数据,当然也可以重新进行收集,但是这样收集起来的数据,可能有时效性比较差等问题会出现。
数据这块,是CMMI-4的基础,我们要得到模型就必须有足够的数据,而且这些数据能足以说明问题,否则我们得到的模型没有足够的说服力。
如果不是做CMMI-4,其实对数据这块同样也不能忽略,对于一个软件公司而言,很多东西就蕴含在数据中,我们可以通过数据来直观的表示一个项目是否延期,工作效率怎么样,有多少个bug,产品质量如何。
您需要登录后才可以回帖 登录 | 注册

本版积分规则



思步组织思步科技|思步网|火花学堂|思步文库|思步问答|思步英才|天下心
© 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 顾问式管理培训
返回顶部