如何理解ipd+cmmi+scrum一体化研发管理解决方案之scrum篇

炯若涵冰玉 炯若涵冰玉     2022-10-03     372

关键词:

如何快速响应市场的变化,如何推出更有竞争力的产品,如何在竞争中脱颖而出,是国内研发企业普遍面临的核心问题,为了解决这些问题,越来越多的企业开始重视创新与研发管理,加强研发过程的规范化,集成产品开发(IPD)、集成能力成熟度模型(CMMI)、敏捷开发(Scrum)是当前企业产品研发管理的最热门的3个体系,但是很多朋友并不真正了解这3套管理体系的适用范围和内涵,本文描述了它们之间的区别以及如何在企业研发管理过程中合理加以应用才能达到最优化的结果,使企业在市场竞争中保持不败之地并能脱颖而出。

上篇请参考:如何理解IPD+CMMI+Scrum一体化研发管理解决方案之IPD篇

http://blog.sina.com.cn/s/blog_81427a800102wqm5.html

中篇请参考:如何理解IPD+CMMI+Scrum一体化研发管理解决方案之CMMI篇

http://blog.sina.com.cn/s/blog_81427a800102wqm6.html

下篇请参考:如何理解IPD+CMMI+Scrum一体化研发管理解决方案之Scrum篇

http://blog.sina.com.cn/s/blog_81427a800102wqk7.html

敏捷开发是历史必然

软件生命周期模式的发展体现了软件工程理论的发展,最早的时候,软件处于无序、混乱的状态,为了管理和控制软件的开发过程,就把软件开发严格区分为多个不同的阶段,并在阶段间进行严格检查,体现了人们对软件过程的希望:严格控制、确保质量,这也就是瀑布开发模型的起源。

软件的特性是无形、多变、难以描述清楚,基本是零成本无限拷贝,人们切实感受到软件的独特价值后,开始对软件赋予越来越多的能力,软件变得非常庞大,从原来的辅助作用,已经发展为主导力量,按照传统瀑布开发模型,要求项目之初就需要把需求准确定义出来,并且在项目运作中严格控制和减少需求变更,而针对如此庞大的软件系统、针对一个未知的系统,项目之初就要求把需求严格清晰地定义出来,无疑是一个非常有挑战的事情;美国国防部审查早起采用瀑布开发模型的软件项目,结果发现75%的以失败而告终,只有2%的软件产品无需大量修改就能正常使用,已经迫切需要提升软件开发模式了。

为第一艘美国三叉戟潜艇开发的第一指挥控制系统是最早记载使用迭代和增量开发的主要软件项目之一,项目大约有一百万行代码,进行的非常成功。

2001年,17名编程大师分别代表极限编程、Scrum、特征驱动开发、动态系统开发方式、自适应软件开发、水晶方法、实用编程等开发流派,发表“敏捷软件宣言”,敏捷软件开发是一种软件管理的新模式,用以替代以文件驱动开发的瀑布开发模式。

Scrum是敏捷开发(Agile)的典型代表

Scrum相关的介绍资料已经很多了,在此就不再赘述,同时下图的Scrum框架图估计大家也都非常熟知了:

技术分享图片

 

核心内容3-4-3,3个角色(产品所有者、ScrumMaster、团队成员)、4个会议(迭代计划会议、迭代验收会议、迭代回顾会议、每日站会)、3个产出(产品Backlog、迭代backlog、进度曲线图)。

CMMI和Scrum之英雄惺惺相惜

CMMI和Scrum都是当今优秀软件开发模型,最终的目的都是要交付一个让客户满意的软件系统,只是两者强调的重点不同:CMMI比较强调策划、计划、规范、监控、量化,尤其强调流程规范在软件开发中的价值;Scrum强调协作、变化、快速调整、尤其强调工具自动化在软件开发中的价值;其实这些内容对软件开发的成败都非常重要,只是不同产品、不同阶段、不同场景为了达到当前的目的,需要对有些方面给予更多重视而已。

不同产品,基于实际实践经验总结,CMMI更适合规模庞大、性命攸关、一旦出问题会带来重大损失的软件项目管理,例如军工控制系统、航天控制系统、卫星导航系统、银行大型交易系统;而Scrum比较适合需要快速响应市场、非核心控制系统的软件项目管理,例如互联网个人应用、企业非核心交易系统、军工中非核心系统软件等。

不同阶段,针对一个软件系统往往会同时采用CMMI和敏捷两种管理模式,通常情况构建全新软件系统1.0时,这个时候涉及比较多底层框架的构建,而底层框架的质量直接影响软件后续的生命力,同时底层框架的变动会导致比较多的推倒重来,严重影响项目进度;底层平台涉及比较多的核心算法,而这些内容难度大,需要强调文档化记录,便于产品持续继承和维护,所以这个阶段多采用CMMI模式,强调前期策划要充分,设计要到位,最大程度减少反复;而一旦产品1.0构建完成,后续就进入快速迭代、快速响应客户需求阶段,这个阶段尤其是小特性的开发项目,一般都采用Scrum敏捷开发模式。

Scrum和IPD是绝配

IPD强调市场驱动的产品开发、把产品开发作为投资来运作,确保产品开发的方向正确,有效支撑公司研发战略的落地,管理层次比较高;Scrum强调通过团队高效互动,从而适应市场变化、快速交付、持续改进,最终达到交付让客户满意产品的目的;IPD和Scrum的有效结合,可以一方面确保产品开发大方向的正确性,同时又能有效提升交付速度,从而更适应快速上市时代(第三代研发管理)的竞争要求。

案例分享:华为技术IPD+Scrum(项目级敏捷过程体系)

技术分享图片

 

如上图所示,整体产品的端到端开发是按照IPD整体框架来运作,大的阶段划分为概念、计划、开发、验证、发布5个阶段;其中概念、计划、验证、发布是把产品当成一个整体来运作(概念阶段详细定义产品包需求、计划阶段进行产品整体设计、子系统设计,同时初步策划产品级(版本级)迭代计划,规划需要通过多少次大的迭代来实现产品所有的设计需求),而开发阶段把软件系统(模块)作为相对独立的管理单元,按照Scrum迭代模式来运作,按照标准的Scrum模式来运作;等所有功能全部迭代完成后,对产品进行全面回归验证,验证没有问题,就准入进行后续的系统集成验证(SIT),整点完成性能、外部系统融合等相关测试。

Scrum自动化工具是关键

Scrum强调拥抱变化、及时调整、增量迭代、质量优先、持续完成直接可以交付使用的产品,软件代码间是相互交错在一起的,有过软件开发经验的人就知道,软件最容易因为增加新功能而导致原来测试好的功能又出问题,同时往往因为修改一个Bug引出多个Bug,要保证软件每次迭代的交付质量,测试是Scrum模式非常重要的一环,而测试需要反复重复多次,如果采用Scrum模式,测试还停留在原始手工测试水平上,这样的Scrum可以基本判定是假的敏捷,不是真正意义的Scrum,势必会导致伴随功能越来越多,测试压力越来越大,结果无法保证每次迭代的交付质量,测试Scrum敏捷模式非常强调自动化工具的使用,如何是某公司Scrum持续集成工具体系:

 

 技术分享图片

敏捷、Scrum 和 CMMI TFS 流程模板之间有啥区别 [关闭]

】敏捷、Scrum和CMMITFS流程模板之间有啥区别[关闭]【英文标题】:WhatisthedifferencebetweentheAgile,ScrumandCMMITFSprocesstemplates[closed]敏捷、Scrum和CMMITFS流程模板之间有什么区别[关闭]【发布时间】:2013-09-0900:38:18【问题描述】:我想问你一... 查看详情

第三次博客

一、学习scrum心得    整个团队必须理解Scrum的目的和限制。如果管理团队把Scrum当作一种新的管理流程,那么这个理解绝对是错误的,而且有害。要正确理解Scrum的实施原则,需要从理解其设计目的开始。我所理解... 查看详情

公司的cmmi管理体系

...了各个模型的不一致性,减少了模型的重复,增强透明和理解,建立了一个自动的,可扩展的框架。因而能够从总体上改进组织的质量和效率。CMMI主要关注点就是成本效益,明确重点,过程集中和灵活性的四个方面。&nb 查看详情

敏捷开发思想及scrum实践

导语:现在每当直接或间接带一支研发团队(注:软件方向,复杂的硬件开发建议使用IPD思想)我都会给大家做一次敏捷思想和实践的培训。作为一个有近10年的开发编码工作经验的资深程序员,作为一个管理者,作为一个还算... 查看详情

敏捷开发的学习与体会

一、学习scrum心得    整个团队必须理解Scrum的目的和限制。如果管理团队把Scrum当作一种新的管理流程,那么这个理解绝对是错误的,而且有害。要正确理解Scrum的实施原则,需要从理解其设计目的开始。我所理解... 查看详情

创业指导如何理解ipd体系中的市场管理「mm」流程?这篇文章就够了

...0c;爆发式增长的优势开始凸显。制造和销售关注的是今天如何生存;研发关注的是明天如何生存;企业需要研发什么技术和产品,是规划需要解决的问题,称之为后天的生存。制造可以用OEM方式外包,销售可... 查看详情

敏捷项目管理—scrum框架总结

...一起将投资产出最大化,他确保所有的利益相关者都可以理解敏捷和尊重敏捷的理念。 Team——开发人员、测试人员 查看详情

卫朋ipd|华为流程体系:如何做好流程管理?

由于最近公司有同事离职,随之就发现某些环节出现了断档,以往的做法一般是拆了东墙补西墙,更多的是靠员工的自觉性。这次我们决定彻底解决这个问题,讨论后认为是公司的某些流程设置不合理导致的。尤... 查看详情

质量工程师需要具备哪些能力

参考技术A  审计与评估:  1、深刻理解TL9000、CMMI、以及各国质量奖等体系标准并多次主导体系审计或评估,深刻掌握公司内部各领域流程并能够融会贯通。  2、能主导以及指导跨领域、跨产品线的审计工作,是多方面业... 查看详情

cmmi2.0配置管理工作及访谈学习笔记(续)

...,这给软硬件一体项目实施的组织提供了理论基础。如何验证您正在使用和遵循这些流程ÿ 查看详情

通过改进团队流程最大限度发挥scrum的优势

团队如何最大限度地发挥Scrum和敏捷的优势?回想一下,Scrum团队在Scrum的框架内定义了自己的流程。这其中包括方法、工具和互动以及如何履行Scrum角色的职责、如何使用工件和事件等。如何确定团队做什么以及怎么做?从产品... 查看详情

业务财务一体化

...的培训、财务人员的业务培训---->管理会计;财务业务一体化不能做一套产品,肯定有客制化 管理会计以管理为核算单位;财务会计以法人 查看详情

scrum-中文翻译

...造性地交付可能最高价值的产品。  Scrum:轻量的、易于理解的、难以精通的  Scrum是一个框架,自上世纪90年代初依赖,他就已经被应用于管理复杂产品的工作上。Scrum并不是一种过程、技术或决定性方法。倒不如说,它是一... 查看详情

cmmi简介及思想启发

...;CMMI等级过程域中文名称过程域英文名称过程类型第2级已管理级7个过程域需求管理RequirementsManagement工程项目规划ProjectPlanning项目管理项目监控ProjectMonitoringandControl项目管理 查看详情

cmmi简介及思想启发

...;CMMI等级过程域中文名称过程域英文名称过程类型第2级已管理级7个过程域需求管理RequirementsManagement工程项目规划ProjectPlanning项目管理项目监控ProjectMonitoringandControl项目管理 查看详情

怎么用snapman一个人在三天内开发出一个复杂的软件开发项目管理系统

    snapman是一个简单而强大的团队协作软件,在上面的信息可以是数据、可以是规则、也可以是自动化代码;最重要的它是一个可以开发的协作平台,所有信息都可以作用到所有人或机器上,大大减少了工作的复... 查看详情

8manage装配式一体化管理如何解决集成窘境?

近几年来,IT技术迅猛发展,企业管理软件也随之不断细分,比如CRM专门用于管理客户与销售,PM专注于项目管理、SPM采购与供应商管理、财务、人力等,不同功能的企业管理系统被划分到不同的区域,管理企业不同的运营。但... 查看详情

8manage装配式一体化管理如何解决集成窘境?

近几年来,IT技术迅猛发展,企业管理软件也随之不断细分,比如CRM专门用于管理客户与销售,PM专注于项目管理、SPM采购与供应商管理、财务、人力等,不同功能的企业管理系统被划分到不同的区域,管理企业不同的运营。但... 查看详情