研发管理体系有哪些
研发管理体系有:1、基于CMMI的研发体系;2、基于IPD的研发体系;3、基于敏捷模式的研发体系。其中CMMI(软件能力成熟度模型集成)是在CMM(软件能力成熟度模型)的基础上发展而来的。CMMI是在全世界推广实施的一种软件能力成熟度评估标准,主要用于指导软件开发过程的改进和进行软件开发能力的评估。
1、基于CMMI的研发体系
CMMI(软件能力成熟度模型集成)是在CMM(软件能力成熟度模型)的基础上发展而来的。CMMI是在全世界推广实施的一种软件能力成熟度评估标准,主要用于指导软件开发过程的改进和进行软件开发能力的评估。CMMI能力成熟度模型,从一级到五级,覆盖了22个过程域,一般能达到CMMI3级别的基本上可以理解为各类流程、过程规则等已经达到一个较好的水平。当然,这里主要是指企业能够确实按照CMMI模型去实践,这种实践其实更适合于以瀑布式开发为主导的项目开发及产品研发模式。
实际执行的过程中,我们并不会完全按照CMMI5进行,需要根据实际情况进行裁剪,相比于它对实际研发过程的指导作用,我感觉CMMI认证更多的为公司增加一种重要资质,以期在招投标中获得更好的加分。
对于互联网企业,特别是To C的互联网企业,CMMI认证的意义并不是特别大,因为在C端你无需依赖这些资质证明能力,而是以产品制胜。
2、基于IPD的研发体系
IPD的核心内容是以市场为导向的产品开发,关注客户需求,将产品开发看成一项投资(商业价值),通过CBB—公共基础模块和跨部门的团队准确、快速、低成本、高质量地推出产品(各评审点的多团队参与和决策、通过各种技术改进提升产品开发效率和降低浪费、持续交付)。
3、基于敏捷模式的研发体系
在这个快鱼吃慢鱼的互联网时代,对用户和环境越来越要求要快速响应。
敏捷研发是当前不少互联网企业、中小企业推行的研发管理体系,主要理念就是敏捷迭代、小步快跑,快速改进、拥抱变化,用户参与等等。
敏捷开发(Agile Development)是一种以人为核心、迭代、循序渐进的开发方法。 首先,我们要理解它不是一门技术,它是一种开发方法,也就是一种软件开发的流程,它会指导我们用规定的环节去一步一步完成项目的开发,而不是一次性完成项目的交付;而这种开发方式的主要驱动核心是人;它采用的是迭代式开发或者可以理解为小步快跑的开发模式,一次只交付客户一部分的特性或功能。
4. 小结
这三种开发模式中,IPD的层级较高,既包括了“做正确的事”,又包括了“把事情做正确”,是公司级的运营级流程,CMMI和敏捷是同一个层级流程,是工程方面的实践级流程。CMMI和敏捷不具备高层决策能力,而一种“把事情做正确”的开发模式。
扩展阅读:
一、研发管理是什么
研发管理就是在研发体系结构设计的基础之上,借助信息平台对研发进行的团队建设、流程设计、绩效管理、风险管理、成本管理、项目管理和知识管理等活动。
二、怎样选择适合自己的软件研发管理体系
研发体系也不是一成不变的,要根据业务的变化不断的迭代调整,以符合业务发展的需要。那究竟什么样的研发管理体系在未来一定时期内适合我们的发展?我们需要或者有必要重构我们的研发管理体系吗?对于这些问题,主要思考下面几点:
- 能否快速适应未来业务的发展变化
在传统IT业务与互联网新兴业务加速融合的大环境下,信息化能力是越来越多客户的名列前茅选择,因此在业务的快速发展方面需要更加强有力的技术支撑,而这个支撑的背后就是需要我们能够有一套能够快速响应变化、敏捷高效的研发体系,特别是能够有一定的前瞻性并支撑到老业务的快速转型和新业务的拓展。
2. 在业务出现较大波动时能否弹性伸缩
业务在发展过程中,受大环境等诸多因素的影响,多多少少会遇到困难。当出现较大的波动的时,研发管理体系应该如何适应?特别是在软件业务处于相对低谷时,既能够继续保持对技术研发的持续投入,又能够在应用开发等方面有一定的可伸缩性,从而正确地处理好软件生产效益问题。
3. 新技术研发及成果转化能否跟上业务变化
最近几年,新技术层出不穷,在软件架构的发展方面也非常迅猛,历经了单体架构、垂直架构、SOA架构、微服务架构的演化。用户对系统的用户体验要求更高了,不再是单纯地满足于功能实现层面,而是开始追求良好的人机交互和界面展现。因此,这方面势必对新技术的要求更加迫切。
4. 在标准化和敏捷迭代之间如何平衡
基本的思路就是结合标准化项目管理和敏捷迭代的优缺点进行适度裁剪,既能提高软件质量和软件开发效率,也能够保留一定的规范性和软件过程文档。
三、如何构建高效的研发管理体系
研发管理的本质是从流程化,标准化,制度化等维度建立「管理机制」。
最终的核心目标是通过管理的法治建立标准化的操作规范,再通过标准化的规范提升人员的协作效率、监督机制、系统稳定性/安全性等。
- 研发协作流程化。研发管理流程中通常会涉及项目管理和人事管理,而流程化构建的目的是提升研发效率的效能,降低协作成本,这个也是判别一件事是否符合流程化的初心的重要标准。
- 研发规范制度化。研发管理的管理制度也会围绕项目流程和人事流程去构建,所有规范制度化构建的目的是标准化操作,有法可依,减少或避免犯错。
- 研发技术标准化。在构建研发体系的过程中,我们可以通过五个维度(技术一体化,业务一体化,监控一体化,运维一体化,管理一体化)进行体系化构建,其中技术一体化的核心是打造标准化的技术体系。
除此之外,研发管理体系的建设离不开几个关键要素:架构,流程、人员、资源,并辅以相应的管理能力。
1. 架构管理
架构是指围绕研发在组织上和地理上如何结构的一系列决定。
这类决策包括:研发的集中化与分散化;研发部门的规模、位置和重点(例如,按市场重点?按技术重点?);研发部门是向业务部门报告还是自主;研究在组织上是否与开发分开;以及研发部门利用外部资源和伙伴关系的程度。对于研发组织来说,没有单一的优异架构。例如,一个高度集中的研发组织有利于不同职能部门之间的沟通和整合;同时,集中化也失去了拥有地理上多样化的研发设施 “足迹 “的好处,这些设施位于不同的全球技术热点附近。更好的方法取决于该组织对获胜的 “核心假设”。如果它押注于整合,那么集中式模式就更好。如果它认为利用不同地域的知识库是获胜的关键,那么分散模式是更好的途径。
2. 流程管理
流程是研发工作开展的正式和非正式的方式。
包括对项目管理制度的选择、项目的管理、关键项目任务的顺序和流程、审查的时间以及用于跟踪项目的指标和指数。很多时候,某些类型的开发流程被作为 “优异实践 “来推销,而事实上,流程设计非常依赖于整体研发战略。考虑一下在一个高度 “结构化 “的研发过程(有严格规定的程序、审查点等)和一个更 “灵活 “的过程之间的选择。哪个更好?同样,这取决于更广泛的研发目标和其他选择。一个从事高度新颖(和高度不确定)技术的研发机构可能需要更多的过程灵活性,以便它能有探索和迭代的余地。相反,如果研发工作必须与其他职能部门(如制造部门)紧密协调,则可能需要一个更严格规定的流程,以 “使每个人都在同一条船上”。
3. 人员管理
一是团队的发展,二是个体的发展。这两者是相辅相成、互相融合促进的。综合来看,人员组织能力的建设主要包括设立与公司战略、业务、技术发展相适应的组织架构,并配以构建相对完整可行的岗位体系和对应的人员考核体系,同时在团队建设等方面持续改进与提升。
在团队建设方面,需要进一步打通团队之间的壁垒,强化团队的整体协同作战能力。
在岗位体系方面,特别是对人员的绩效评价方面,需要在已有的岗位体系基础上进一步考虑如何更好地执行落地,确保个人绩效目标与团队绩效目标的一致性和顺利达成。
4. 资源管理
资源建设是软件研发管理体系中的支撑体系。资源建设主要包括了一系列的制度规范、工具、模板、过程资料及交付物(例如项目文档、源代码等),以及相应的经验、知识沉淀等。
一是要适时梳理相应的制度、规程、标准、规范、文档模板等,形成标准化资源库;
二是要对不同行业历年来的项目资料及源代码分门别类做好规划和归档管理,形成静态库(归档库)和活跃库,同时做好数据安全管理;
三是要对软件研发人员及工作中的一些隐性知识转化为显性知识,并逐步构建软件研发的知识图谱,促进知识经验的持续积累与转化,并通过链条式、网状式等方式实现知识分享与传播,形成经验知识库。
以上为关于研发管理体系相关问题的回答,希望对你有所帮助。