文/杨学明

 集成产品开发(IPD)、集成能力成熟度模型(CMMI)、敏捷开发(Agile Development)是当前国内外企业产品研发管理的最常用的3种模式。随着创新环境的快速发展,许多企业都会面临这样的问题:如何快速响应市场的变化?如何推出更有竞争力的产品?如何在竞争中脱颖而出?……是大部分研发型企业普遍面临的核心问题。另外,软件项目在产品开发中位置越来越重要,逐渐占领主导地位,这时传统的IPD流程和CMMI流程就显得有些繁锁,不能快速响应市场的变化和客户需求,敏捷开发(Agile Development)应运而生。2001年,一批美国专家聚集在一起概括出了一些可以让软件开发团队具有快速工作、响应变化能力的价值观和原则,他们称自己为敏捷(Agile)联盟。并创建出了一份价值观声明,也就是敏捷联盟宣言。敏捷开发模式已应用于Microsoft、Google, Amazon,IBM等大型软件公司中,在中国,从2006年开始,华为、腾讯、阿里巴巴、百度等大型软件公司也陆续引进敏捷开发和测试的先进理念,并进行了成功的实践。IPD和敏捷融合的过程中, 以下的问题是必须考虑到的:

  • IPD更加重视过程,而敏捷更加重视结果,如何做到统一?
  • IPD需求一个端到端的团队,而敏捷是一个小规模团队,如何适应?
  • IPD要求面面俱到的文档,而敏捷要求简化文档,如何平衡?
  • IPD更加关注产品的管理,而敏捷更加关注运营的管理,如何做互补?
  • IPD要求产品质量完全无缺陷发布,而敏捷可以带着风险发布,是不是有冲突?

 ………

很多企业的产品或项目开发尝试使用敏捷开发模式,但还是有如下的问题:

  1. 越来越多的企业希望采用,但没有把握,没有精通敏捷思想的教练;
  2. 大部分的团队习惯于传统的IPD或CMMI已不满足快速发展需要,突然切换到敏捷也不现实;
  3. 缺少敏捷软件开发专家和人才;
  4. 技术人员需要观念的转变和方法培训;
  5. 缺乏相应的质量控制方法,敏捷在现行的质量体系下如何运作?
  6. 需要经常的和及时的质量度量、测试、决策;
  7. 自动化测试不能落到实处,每日构建(Daily Build)仍是纸上谈兵                         

面对这些问题,共创力资深顾问杨学明老师根据多年研发管理和团队管理经验,结合为多家企业实施IPD和敏捷融合的经验,总结出以下四个关键因素:

1、组织方面的变革

1)  IPD组织与敏捷组织的差异,IPD体系比较偏向于矩阵式管理,但敏捷更加偏向于扁平化,领导和员工共同为交付负责;

2)  管理者思维的转变,以人和交流为中心,而非以流程和制度为中心;

3)  开发人员思维的转变,需要多次提交在本地构建成功的版本进行与其它模块进行集成测试,原来是周期性提交,现在需要每日提交;

4)  测试人员思维的转变,测试活动需要前移,测试人员需要参与开发过程的测试.

5)  质量保持人员从警察到复合型人才的转变(医生、牧师、教练、警察四个角色)

2、流程方面的变革

1)  在IPD流程中嵌入敏捷开发流程,IPD依然是公司级流程,敏捷更偏重实践。

2)  IPD重量级流程和敏捷轻量级流程的融合,做到互不冲突。

3)  敏捷需求管理流程,需求的迭代管理比以前更加快捷,需求的反馈需要短平快。

4)  流程裁剪,一切以客户价值为核心,只交付刚刚好的软件产品。

5) IPD中瀑布开发模型和迭代开发的差异,IPD需要做好所有的功能之后再交付,而敏捷可以分特性进行迭代交付;

6)  IPD重流程,敏捷更加重视结果,IPD比较重视开发过程的质量保证,而敏捷更加重视可见的结果,一切以结果为导向。

3、 绩效管理方面的变革

1)  构建敏捷的自运作团队,敏捷强调自驱性团队,即由原来的流程驱动变为团队自我驱动,自我的激励和运作。

2)  从KPI到OKR,原来的KPI是由上到下,强调“按需分配”,现在需要团队自我管理,每个人自已编写自已的OKI,鼓励“能者多劳”。

3)  敏捷考核与IPD考核的差异,敏捷团队考核强调团队共同挑战困难,共同承担责任,在考核方面以激励为主,以客户满意为最终结果指标,事后再来分析绩效结果。

4)  扁平化的绩效管理模式(敏捷团队,人人平等),在敏捷团队中,绩效高度可视化,付出的努力能以公平、公正、公开的方法进行管理,更能激励团队成员积极性。

4、IT工具方面的变革

传统的项目管理工具已不能适应快速响应的团队管理, 需要选择开放、兼容、可扩展的工具的平台,如:

1) 项目管理工具(禅道,TAPD,MANTIS等)

2) 持续集成工具(CruiseControl、Jenkins、IncrediBuild、InstallShield等)

3) 单元测试工具(JUnit、CUnit、CppUnit、google/gtest、google/gmock等)

4) 代码检查工具(PCLINT、checkStyle、FindBugs 、codecheck、Cppcheck、PMD代码分析工具等)

以上四点,便是IPD向敏捷开发模式转型实施成功的四个关键因素,目前在国内几家企业试点成功,在共创力咨询顾问的辅导下,IPD体系向敏捷开发模式转型已顺利落地。

 注:本文由资深研发管理专家杨学明先生提供。杨学明,清华大学MBA,资深研发管理专家,国内首席研发管理专家,曾服务于华为,阿里巴巴等知名企业,杨老师先后在国内开设研发类公开课100多场,服务内训客户1000多家,为数百家企业提供了研发咨询服务,典型的客户如深圳迈瑞、华立仪表、步步高、英威腾、雷赛智能、埃斯顿、华工科技、中国科学院、电力科学研究院、中国工商银行、重邮信科、从兴电子、浙大网新、联迪商用等。杨学明老师课程以实战为主,以行业标杆企业为牵引,结合国内中小企业研发及测试管理环节的典型案例,深入剖析各种管理疑难问题,深受学员好评!

IPD体系向敏捷开发模式转型实施成功的四个关键因素的更多相关文章

  1. 杨学明老师推出全新课程--《敏捷开发&IPD和敏捷开发结合的实践》

    课时:13小时(2天) 敏捷开发&IPD和敏捷开发结合的实践 讲  师:杨学明 [课程背景] 集成产品开发(IPD).集成能力成熟度模型(CMMI).敏捷开发(Agile Developmen ...

  2. [转]基于Visual Studio 2010 进行敏捷/Scrum模式开发

    http://www.infoq.com/cn/articles/visual-studio-2010-agile-scrum-development 根据Forrester Research今年第二 ...

  3. 从敏捷开发到微服务,maybe再到中台

    -- 先说下准备这个的背景: 本来是想让我分享下敏捷开发,可能是听我说为as**搭建并完善了敏捷开发体系的原因吧. 我一般分享一个东西,希望大家能真的理解,而不只是知道. 我不大相信有万能的东西,不希 ...

  4. 敏捷开发(Scrum)与敏捷测试

    1.敏捷测试流程和传统测试流程 软件测试是贯穿整个软件开发生命周期.对软件产品(包括阶段性产品)进行验证和确认的活动过程,也是对软件产品质量持续的评估过程,其目的是尽快尽早地发现在软件产品(包括阶段性 ...

  5. 敏捷测试模式之Scrum及其实践

    一.    敏捷开发模式简介 敏捷是近年来软件研发领域很火的一个词,采用敏捷开发模式的研发团队是越来越多了,尤其是敏捷模式中的Scrum更是佼佼者大行其道,这表明敏捷模式确有其好处,能给企业带来效率的 ...

  6. [转载]基于TFS实践敏捷-Scrum模式运用

    根据Forrester Research今年第二季度的一份研究报告,在超过1000名专业开发人员中,采用敏捷模式进行软件开发的已经有10.9%采用了Scrum模式,在所有的敏捷开发模式中名列首位,而在 ...

  7. 使用.NET进行高效率互联网敏捷开发的思考和探索【一、概述】

    不知从什么时候开始,创业变得很廉价,谈什么都是互联网,动辄融资千万.这阵风好像也刮向了程序员中,有那么一大批开发者,数据结构不好好学习.数据库原理不扎实掌握,在github上发布几个项目,用nodej ...

  8. 敏捷开发 | DSDM 在非 IT 领域也同样适用?

    动态系统开发方法(Dynamic Systems Development Method:DSDM)是在快速应用程序开发(RAD)方法的基础上改进的.作为敏捷方法论的一种,DSDM方法倡导以业务为核心, ...

  9. 敏捷开发— —Scrum 学习笔记

    敏捷开发模式是一种从1990年代开始逐渐引起广泛关注的一些新型软件开发方法,是一种应对快速变化的需求的一种软件开发能力.它们的具体名称.理念.过程.术语都不尽相同,相对于"非敏捷" ...

随机推荐

  1. [Swift]LeetCode251.展平二维向量 $ Flatten 2D Vector

    Implement an iterator to flatten a 2d vector. For example,Given 2d vector = [ [1,2], [3], [4,5,6] ] ...

  2. [Swift]LeetCode452. 用最少数量的箭引爆气球 | Minimum Number of Arrows to Burst Balloons

    There are a number of spherical balloons spread in two-dimensional space. For each balloon, provided ...

  3. 【spring】ApplicationListener传递参数到页面(解决静态+动态资源路径+静态文件的缓存控制)

    一.相对路径还是绝对路径的问题 前端页面加载资源或者请求的时候到底是使用相对路径还是绝对路径,想必大家都很清楚,用的是当然是相对路径,因为这样增加了项目的灵活性,不需要经常的改动.那既然是相对路径就需 ...

  4. BBS论坛(十八)

    18.首页轮播图实现 (1)front/css/front_base.css .main-container{ width: 990px; margin: 0 auto; overflow: hidd ...

  5. java设计模式(2)---六大原则

    设计模式之六大原则 这篇博客非常有意义,希望自己能够理解的基础上,在实际开发中融入这些思想,运用里面的精髓. 先列出六大原则:单一职责原则.里氏替换原则.接口隔离原则.依赖倒置原则.迪米特原则.开闭原 ...

  6. A10映射方法

    #创建服务 slb server rs_10.90.6.95 10.90.6.95 port 5001 tcp slb server rs_10.90.6.96 10.90.6.96 port 500 ...

  7. Elasticsearch之删除索引

    1. #删除指定索引    # curl -XDELETE -u elastic:changeme http://localhost:9200/acc-apply-2018.08.09    {&qu ...

  8. CardView卡片式布局

    CardView适用于实现卡片式布局效果的重要控件,由appcompat-v7库提供,实际上CardView也是一个FrameLayout,只是额外提供了圆角和阴影效果,看上去有立体的感觉.一般Car ...

  9. 用tensorflow学习贝叶斯个性化排序(BPR)

    在贝叶斯个性化排序(BPR)算法小结中,我们对贝叶斯个性化排序(Bayesian Personalized Ranking, 以下简称BPR)的原理做了讨论,本文我们将从实践的角度来使用BPR做一个简 ...

  10. python学习第一讲,python简介

    目录 python学习第一讲,python简介 一丶python简介 1.解释型语言与编译型语言 2.python的特点 3.python的优缺点 二丶第一个python程序 1.python源程序概 ...