资源描述
http:/ 上上 海海 漫漫 索索 计计 算算 机机 科科 技技 有有 限限 公公 司司基基 于于 CMMI 的的集成化集成化软件研件研发流程和管理平台流程和管理平台林林锐博士博士目录1.企业研发管理的理念2.过程改进的概念3.软件研发管理的过程改进方法4.基于CMMI的集成化软件研发流程IDP5.集成化研发管理平台RDMS1.企业研发管理的理念l l企企企企业业业业的的的的根根根根本本本本目目目目标标标标是是是是“合合合合法法法法地地地地赚赚赚赚取取取取尽尽尽尽可可可可能能能能多多多多的的的的利利利利润润润润,使使使使企企企企业业业业整整整整体体体体利利利利益益益益最最最最大大大大化化化化”。企企业业所所有有的的特特定定目标和行动(例如研发、营销等)都是围绕根本目标开展的,不能和根本目标抵触。目标和行动(例如研发、营销等)都是围绕根本目标开展的,不能和根本目标抵触。l l企业研发管理的指导思想是:企业研发管理的指导思想是:关注结果,重视过程关注结果,重视过程关注结果,重视过程关注结果,重视过程。“关注结果关注结果”是指:以最终产品获得的经济效益来衡量研发业绩,追求利益最大化。是指:以最终产品获得的经济效益来衡量研发业绩,追求利益最大化。“重视过程重视过程”是指:将期望的成果分解到每个过程域(即工作环节)去实现,努力把每是指:将期望的成果分解到每个过程域(即工作环节)去实现,努力把每项工作做好,从而得到好的成果。项工作做好,从而得到好的成果。l l衡量研发工作优劣的三个关键指标是:质量、生产率和成本。衡量研发工作优劣的三个关键指标是:质量、生产率和成本。衡量研发工作优劣的三个关键指标是:质量、生产率和成本。衡量研发工作优劣的三个关键指标是:质量、生产率和成本。l l企业研发管理的基本目标:让所有人员有条不紊地开展工作,在预定的时间和成本之内,开发企业研发管理的基本目标:让所有人员有条不紊地开展工作,在预定的时间和成本之内,开发完成质量合格的产品,从而使企业和个人获得预定的利益。完成质量合格的产品,从而使企业和个人获得预定的利益。l l企业研发管理的奋斗目标:调动一切积极因素,努力提高产品质量、提高工作效率并且降低成企业研发管理的奋斗目标:调动一切积极因素,努力提高产品质量、提高工作效率并且降低成本,使企业和个人获得比预定目标更多的利益。本,使企业和个人获得比预定目标更多的利益。l l企业里大部分工作是成熟的,有现成的模式可以套用,这类工作应当靠流程制度来管理,可比企业里大部分工作是成熟的,有现成的模式可以套用,这类工作应当靠流程制度来管理,可比喻为喻为“法治法治”。企业中还有一部分工作可能是独特的,并不适宜套用流程制度(也可能没有流。企业中还有一部分工作可能是独特的,并不适宜套用流程制度(也可能没有流程制度可以套用),相关人员要当机立断、高效地处理问题,可比喻为程制度可以套用),相关人员要当机立断、高效地处理问题,可比喻为“人治人治”。l l一般地,企业既需要大量的一般地,企业既需要大量的一般地,企业既需要大量的一般地,企业既需要大量的“法治法治法治法治”管理方式,又需要小量的管理方式,又需要小量的管理方式,又需要小量的管理方式,又需要小量的“人治人治人治人治”管理方式。通常前者约管理方式。通常前者约管理方式。通常前者约管理方式。通常前者约占占占占60-80%60-80%,而后者约占,而后者约占,而后者约占,而后者约占20-40%20-40%。“法治法治法治法治”和和和和“人治人治人治人治”结合使用是企业管理的重要手段。企业结合使用是企业管理的重要手段。企业结合使用是企业管理的重要手段。企业结合使用是企业管理的重要手段。企业领导要关注两点:一是建立合适的流程制度(实现良好的法治);二是使用合适的人(实现良领导要关注两点:一是建立合适的流程制度(实现良好的法治);二是使用合适的人(实现良领导要关注两点:一是建立合适的流程制度(实现良好的法治);二是使用合适的人(实现良领导要关注两点:一是建立合适的流程制度(实现良好的法治);二是使用合适的人(实现良好的人治)。好的人治)。好的人治)。好的人治)。l l国内大部分国内大部分ITIT企业的研发管理现状是:企业的研发管理现状是:“法治法治”太少,混乱的太少,混乱的“人治人治”太多。阻碍国内太多。阻碍国内ITIT企业企业发展的瓶颈问题通常不是技术问题,而是杂乱无章的管理。发展的瓶颈问题通常不是技术问题,而是杂乱无章的管理。2.过程改进的概念2.1 2.1 什么是过程?什么是过程?l l人们使用合适的方法、技术、工具才能开发出用户需要的产品。过程是指人们使用合适的方法、技术、工具才能开发出用户需要的产品。过程是指“人,方法,技术和人,方法,技术和工具工具”的集合。的集合。l l过程被写成文档后,变成了公司的过程被写成文档后,变成了公司的“流程制度流程制度”,公司成员们依据,公司成员们依据“流程制度流程制度”开展工作,这开展工作,这叫叫“法治管理法治管理”。人员方法技术产品工具过程过程2.过程改进的概念2.2 2.2 过程与产品有什么关系?为什么要重视过程?过程与产品有什么关系?为什么要重视过程?l l软件产品不能靠人们的意念瞬间完成,它需要一个研发过程。软件产品不能靠人们的意念瞬间完成,它需要一个研发过程。一般情况下,好的过程才可能得一般情况下,好的过程才可能得一般情况下,好的过程才可能得一般情况下,好的过程才可能得到好的产品,而差的过程会得到差的产品到好的产品,而差的过程会得到差的产品到好的产品,而差的过程会得到差的产品到好的产品,而差的过程会得到差的产品。l l当然也有相反的情况,有些人在混乱的过程中创造了很好的产品,也有些人在严谨的过程中生当然也有相反的情况,有些人在混乱的过程中创造了很好的产品,也有些人在严谨的过程中生产出商业上失败的产品。但这类现象不具有指导意义。产出商业上失败的产品。但这类现象不具有指导意义。l l为什么要重视过程?为什么要重视过程?由于公司销售的是产品而非过程,人们常常只把眼光盯在产品上,而忘了过程的重要性。由于公司销售的是产品而非过程,人们常常只把眼光盯在产品上,而忘了过程的重要性。例如,领导对员工们下达命令时经常强调:例如,领导对员工们下达命令时经常强调:“我不管你们怎么做,只要时间一到你们交我不管你们怎么做,只要时间一到你们交付产品就行。付产品就行。”其实这是一句因果关系颠倒了的话,却在业界普遍存在。其实这是一句因果关系颠倒了的话,却在业界普遍存在。如果领导不关心员工怎么做(即做事的过程),往往会得到失望的结果。如果领导不关心员工怎么做(即做事的过程),往往会得到失望的结果。如果领导不关心员工怎么做(即做事的过程),往往会得到失望的结果。如果领导不关心员工怎么做(即做事的过程),往往会得到失望的结果。2.过程改进的概念2.3 2.3 什么是过程改进,企业为什么需要过程改进?什么是过程改进,企业为什么需要过程改进?l l过程改进(过程改进(Process ImprovementProcess Improvement)是指:)是指:根据企业的现实情况和发展需求,优化流程制度,根据企业的现实情况和发展需求,优化流程制度,根据企业的现实情况和发展需求,优化流程制度,根据企业的现实情况和发展需求,优化流程制度,努力提升人们在过程中的工作能力,从而努力提升人们在过程中的工作能力,从而努力提升人们在过程中的工作能力,从而努力提升人们在过程中的工作能力,从而“提升产品质量、提升生产率并降低成本提升产品质量、提升生产率并降低成本提升产品质量、提升生产率并降低成本提升产品质量、提升生产率并降低成本”。(注:(注:这是作者对过程改进的定义)这是作者对过程改进的定义)l l“过程改进过程改进”本身就是一件消耗时间、精力和成本的事情,那么企业为什么要做本身就是一件消耗时间、精力和成本的事情,那么企业为什么要做“过程改进过程改进”?答案是:?答案是:过程改进是企业谋求进步的需要过程改进是企业谋求进步的需要过程改进是企业谋求进步的需要过程改进是企业谋求进步的需要。l l企业谋求进步离不开以下两点:企业谋求进步离不开以下两点:(1 1)企业人士要不断学习新技术,开发新产品,开拓新业务领域。)企业人士要不断学习新技术,开发新产品,开拓新业务领域。(2 2)企业人士要不断反省自己,总结经验教训,改正缺点、发挥优点。)企业人士要不断反省自己,总结经验教训,改正缺点、发挥优点。l l过程改进体现了过程改进体现了“自我反省、自我改进自我反省、自我改进”的精神,不论对人生还是对企业而言,都是极为重要的精神,不论对人生还是对企业而言,都是极为重要的。的。2.过程改进的概念2.4 2.4 软件过程改进和软件过程改进和CMMICMMI之间的关系之间的关系l l在二十世纪七、八十年代,软件工程的研究重点是需求分析、软件设计、编程、测试、维护等在二十世纪七、八十年代,软件工程的研究重点是需求分析、软件设计、编程、测试、维护等领域的方法、技术和工具,我们称之为经典软件工程。领域的方法、技术和工具,我们称之为经典软件工程。l l应该说现代的软件技术、软件工具要比几十年前好不知道多少倍,可是如今绝大多数软件项目应该说现代的软件技术、软件工具要比几十年前好不知道多少倍,可是如今绝大多数软件项目依然面临着质量低下、进度延误、费用超支这些老问题。人们逐渐意识到,由于机构管理软件依然面临着质量低下、进度延误、费用超支这些老问题。人们逐渐意识到,由于机构管理软件过程的能力比较弱,常常导致项目处于混乱状态,过程的能力比较弱,常常导致项目处于混乱状态,过程混乱使得新技术、新工具的优势难以体过程混乱使得新技术、新工具的优势难以体过程混乱使得新技术、新工具的优势难以体过程混乱使得新技术、新工具的优势难以体现现现现。经典的软件工程不是不好,而是不够用经典的软件工程不是不好,而是不够用经典的软件工程不是不好,而是不够用经典的软件工程不是不好,而是不够用。l l提高软件过程能力的实践通称为软件过程改进(提高软件过程能力的实践通称为软件过程改进(Software Process ImprovementSoftware Process Improvement)。软件过程)。软件过程改进的目的是:提高软件质量、提高生产率并且降低开发成本。从二十世纪九十年代至今,软改进的目的是:提高软件质量、提高生产率并且降低开发成本。从二十世纪九十年代至今,软件过程改进成为软件工程学科的一个主流研究方向,其中件过程改进成为软件工程学科的一个主流研究方向,其中CMM/CMMICMM/CMMI是该领域举世瞩目的重是该领域举世瞩目的重大成果。大成果。CMM/CMMICMM/CMMI是世界范围内用于衡量软件过程能力的标准。是世界范围内用于衡量软件过程能力的标准。是世界范围内用于衡量软件过程能力的标准。是世界范围内用于衡量软件过程能力的标准。l l人们往往搞不清楚人们往往搞不清楚“软件过程改进软件过程改进”和和“CMMICMMI等级评估等级评估”之间的关系,经常混为一谈。这里作之间的关系,经常混为一谈。这里作个比喻来解释:个比喻来解释:把把“软件过程改进软件过程改进”比喻为比喻为“学英语,提高英语能力学英语,提高英语能力”,那么,那么“CMMICMMI等级评估等级评估”就好比就好比是是“英语等级考试英语等级考试”。一般情况下,英语等级考试的成绩反映了英语能力。但是,在特。一般情况下,英语等级考试的成绩反映了英语能力。但是,在特别擅长应试的中国,英语考试成绩很好并不见得英语能力很好,甚至差到别擅长应试的中国,英语考试成绩很好并不见得英语能力很好,甚至差到“哑巴英语哑巴英语”的程度。这种的程度。这种“特性特性”传染到软件领域,不少企业虽然通过了高级别的传染到软件领域,不少企业虽然通过了高级别的CMMICMMI等级评估,等级评估,但是其实际的软件过程能力却非常底下。但是其实际的软件过程能力却非常底下。2.过程改进的概念2.5 2.5 有了有了CMMICMMI为什么还要研制企业的过程规范?为什么还要研制企业的过程规范?l l卡内基梅隆大学软件工程研究所发布的卡内基梅隆大学软件工程研究所发布的CMMI for Development 1.2CMMI for Development 1.2版本,厚达版本,厚达560560页。既然有页。既然有了全世界认同的了全世界认同的“CMMICMMI宝典宝典”,企业为什么还要研制自己的软件过程规范呢?,企业为什么还要研制自己的软件过程规范呢?l l解答这个疑问,我们首先要搞清楚解答这个疑问,我们首先要搞清楚“CMMICMMI是什么是什么”以及以及“CMMICMMI不是什么不是什么”。CMMICMMI是世界范围内用于衡量软件过程能力的标准,但是是世界范围内用于衡量软件过程能力的标准,但是是世界范围内用于衡量软件过程能力的标准,但是是世界范围内用于衡量软件过程能力的标准,但是CMMICMMI不是软件过程改进的执行不是软件过程改进的执行不是软件过程改进的执行不是软件过程改进的执行标准,不可能存在适合所有企业的执行标准。标准,不可能存在适合所有企业的执行标准。标准,不可能存在适合所有企业的执行标准。标准,不可能存在适合所有企业的执行标准。就如就如“英语四六级考试英语四六级考试”是中国所有大学都认同的评估大学生英语能力的标准,但是是中国所有大学都认同的评估大学生英语能力的标准,但是“英语四六级考试大纲英语四六级考试大纲”绝对不是绝对不是“学好英语的标准学好英语的标准”。l l不能把不能把“CMMICMMI宝典宝典”直接作为企业的软件过程规范,主要原因如下:直接作为企业的软件过程规范,主要原因如下:CMMICMMI的的560560页文本论述了二十多个过程域和数百条实践,但是这些页文本论述了二十多个过程域和数百条实践,但是这些“过程域和实践过程域和实践”没没有与有与“企业的具体业务和组织结构企业的具体业务和组织结构”衔接起来。衔接起来。l l有些企业死搬硬套有些企业死搬硬套CMMICMMI,竟然按照,竟然按照CMMICMMI文本的逐个遍历文本的逐个遍历CMMICMMI的过程域和实践,这种方式非的过程域和实践,这种方式非常迂腐可笑:常迂腐可笑:如同给一个病人治病,不考虑病人需要吃什么药,却把药店里面的药逐个儿吃一如同给一个病人治病,不考虑病人需要吃什么药,却把药店里面的药逐个儿吃一如同给一个病人治病,不考虑病人需要吃什么药,却把药店里面的药逐个儿吃一如同给一个病人治病,不考虑病人需要吃什么药,却把药店里面的药逐个儿吃一遍,以为就能治好病遍,以为就能治好病遍,以为就能治好病遍,以为就能治好病。2.过程改进的概念2.6 2.6 如何应用如何应用CMMICMMIl l应当根据企业的实际情况,既要裁剪应当根据企业的实际情况,既要裁剪CMMICMMI过程域和实践,又要补充过程域和实践,又要补充CMMICMMI没有涉及的过程域没有涉及的过程域和实践。企业领导和软件过程改进工作者必须明白:和实践。企业领导和软件过程改进工作者必须明白:企业需要吻合商业目标、容易执行的软件企业需要吻合商业目标、容易执行的软件企业需要吻合商业目标、容易执行的软件企业需要吻合商业目标、容易执行的软件过程规范。过程规范。过程规范。过程规范。l l什么是裁剪?什么是裁剪?裁剪不是指用剪刀把裁剪不是指用剪刀把CMMICMMI厚厚的书剪成薄薄的书,裁剪是要动脑筋的:要分析企业的业厚厚的书剪成薄薄的书,裁剪是要动脑筋的:要分析企业的业务特征,根据自身的人力和财力,选取务特征,根据自身的人力和财力,选取CMMICMMI文本中一些重要的东西,舍弃其它不重要的文本中一些重要的东西,舍弃其它不重要的东西。至于什么是东西。至于什么是“重要的东西重要的东西”,则要根据它对企业的贡献多少来衡量。,则要根据它对企业的贡献多少来衡量。l lCMMICMMI都都560560页厚了,为什么还要补充过程域和实践?页厚了,为什么还要补充过程域和实践?CMMICMMI对于软件开发和管理过程的论述非常深入,但是却没有涉及对于软件开发和管理过程的论述非常深入,但是却没有涉及“商务过程商务过程”,例如没,例如没有谈立项管理、售前服务、售后服务等。这是有谈立项管理、售前服务、售后服务等。这是CMMICMMI很大的缺陷。很大的缺陷。企业开发产品的最终目的是卖出产品,赚取利润。如果软件过程规范中不考虑商务过程企业开发产品的最终目的是卖出产品,赚取利润。如果软件过程规范中不考虑商务过程的话,会导致开发团队的话,会导致开发团队“闭门造车闭门造车”,很可能开发出,很可能开发出“技术上很好的产品,但却是商业技术上很好的产品,但却是商业上失败的产品上失败的产品”。3.软件研发管理的过程改进方法3.1 示意图持续提升企业的软件研发和管理能力1.调查分析问题3.优化过程规范4.部署配套的管理工具5.培训和辅导6.执行与改进方法论如CMMI,IDP等配套的研发管理工具2.优化组织结构岗位职责3.软件研发管理的过程改进方法3.2 方法步骤l l第第第第1 1步,调查分析问题。步,调查分析问题。步,调查分析问题。步,调查分析问题。咨询师访谈企业中和咨询师访谈企业中和“研发、管理、营销、服务研发、管理、营销、服务”相关的工作人员,相关的工作人员,分析共性的和重要的问题,征求提出者和领导的意见,共同协商解决问题的对策。分析共性的和重要的问题,征求提出者和领导的意见,共同协商解决问题的对策。l l第第第第2 2步,优化组织结构和岗位职责。步,优化组织结构和岗位职责。步,优化组织结构和岗位职责。步,优化组织结构和岗位职责。咨询师根据访谈结果,优化组织结构和岗位职责,可能需咨询师根据访谈结果,优化组织结构和岗位职责,可能需要调整重要岗位的人选和权力。要调整重要岗位的人选和权力。l l第第第第3 3步,研制和优化过程规范。步,研制和优化过程规范。步,研制和优化过程规范。步,研制和优化过程规范。咨询师帮助企业咨询师帮助企业“研制和优化研制和优化”软件研发管理的流程规范,一软件研发管理的流程规范,一般需整合般需整合“商务过程、项目管理过程、项目开发过程、支持过程商务过程、项目管理过程、项目开发过程、支持过程”。l l第第第第4 4步,部署配套的管理工具。步,部署配套的管理工具。步,部署配套的管理工具。步,部署配套的管理工具。企业尽量部署与流程规范配套的管理工具,例如配置管理工具、企业尽量部署与流程规范配套的管理工具,例如配置管理工具、缺陷跟踪工具、任务管理工具等等。请参考第缺陷跟踪工具、任务管理工具等等。请参考第5 5章章“集成化研发管理平台集成化研发管理平台”。l l第第第第5 5步,培训和辅导。步,培训和辅导。步,培训和辅导。步,培训和辅导。咨询师为企业员工提供充分必要的培训和辅导,让员工理解过程规范,咨询师为企业员工提供充分必要的培训和辅导,让员工理解过程规范,并掌握技能。并掌握技能。l l第第第第6 6步,执行和改进。步,执行和改进。步,执行和改进。步,执行和改进。企业员工根据新的过程规范开展工作,过程改进负责人监督执行情况,企业员工根据新的过程规范开展工作,过程改进负责人监督执行情况,记录问题,然后周期性地改进过程。记录问题,然后周期性地改进过程。3.软件研发管理的过程改进方法3.3 实施建议l l各级领导各级领导“亲身参与亲身参与”而非而非“口头支持口头支持”l l制定制定“合适合适”而非而非“大而全大而全”的过程规范的过程规范l l不要迷信所谓的标准不要迷信所谓的标准l l“引导推行引导推行”而非而非“强硬推行强硬推行”解释规范解释规范 培训和考试培训和考试 质量保证人员监督实施质量保证人员监督实施l l写好必要的文档写好必要的文档4.基于CMMI的集成化软件研发流程4.1 4.1 模型模型4.基于CMMI的集成化软件研发流程4.2 IDP的特征l l一、集成了营销过程、项目管理过程、项目研发过程和支持过程一、集成了营销过程、项目管理过程、项目研发过程和支持过程一、集成了营销过程、项目管理过程、项目研发过程和支持过程一、集成了营销过程、项目管理过程、项目研发过程和支持过程 IDPIDP四类过程贯穿了项目生命周期,结构清晰,相互关系直观明了。四类过程贯穿了项目生命周期,结构清晰,相互关系直观明了。IDPIDP模型有助于企业模型有助于企业各部门有条不紊地开展工作。各部门有条不紊地开展工作。l l二、适合于中小型二、适合于中小型二、适合于中小型二、适合于中小型ITIT企业的企业的企业的企业的CMMI 3CMMI 3级研发流程级研发流程级研发流程级研发流程 IDPIDP吸纳了吸纳了CMMI 3CMMI 3级以内的大部分过程域,做了合理的精简,采用增量开发模式,更加级以内的大部分过程域,做了合理的精简,采用增量开发模式,更加适合于中小型适合于中小型ITIT企业(满足要求并且易于执行)。企业(满足要求并且易于执行)。l l三、容易裁剪与扩充三、容易裁剪与扩充三、容易裁剪与扩充三、容易裁剪与扩充 IDPIDP是免费公开、不断改进的流程规范,国内已经有大量用户学习和应用是免费公开、不断改进的流程规范,国内已经有大量用户学习和应用IDPIDP。用户可以。用户可以根据本企业的特征,适当地裁剪或扩充根据本企业的特征,适当地裁剪或扩充IDPIDP的过程域,很容易制定出最适合于本企业的流的过程域,很容易制定出最适合于本企业的流程规范。程规范。5.集成化研发管理平台RDMS5.1 RDMS的组成l l请从上海漫索公司网站请从上海漫索公司网站 http:/http:/ 下载试用下载试用RDMSRDMS软件。软件。RDMS的组成5.集成化研发管理平台RDMS5.2 RDMS的功能清单RDMS的组成5.集成化研发管理平台RDMS5.集成化研发管理平台RDMS5.集成化研发管理平台RDMS5.集成化研发管理平台RDMS6.参考书IT企业研发管理:问题,方法和工具参考书:IT企业研发管理:问题、方法和工具,林锐 著,电子工业出版社,2006
展开阅读全文