文/杨学明

 集成产品开发(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. #Java学习之路——基础阶段(第十篇)

    我的学习阶段是跟着CZBK黑马的双源课程,学习目标以及博客是为了审查自己的学习情况,毕竟看一遍,敲一遍,和自己归纳总结一遍有着很大的区别,在此期间我会参杂Java疯狂讲义(第四版)里面的内容. 前言: ...

  2. Docker 搭建pxc集群 + haproxy + keepalived 高可用(一)

    一.首先需要安装好docker,安装方法可以参考之前一篇博文Centos7安装docker [root@localhost ~]# systemctl start docker [root@local ...

  3. python-函数参数

    1.Python的函数定义非常简单,但灵活度却非常大.除了正常定义的必选参数外,还可以使用默认参数.可变参数和关键字参数,使得函数定义出来的接口,不但能处理复杂的参数,还可以简化调用者的代码 1).位 ...

  4. C# Serialize

    一.序列化又称为串行化,是.NET运行时环境用来支持用户自定义类型的机制,目的是以某种存储给对象持久化,或者是将这种对象传输到另一个地方, 二. .NET框架提供了两种序列化的方式 一种是使用Bina ...

  5. Centos7 防火墙 firewalld 实用操作

    一.前言 Centos7以上的发行版都试自带了firewalld防火墙的,firewalld去带了iptables防火墙.其原因是iptables的防火墙策略是交由内核层面的netfilter网络过滤 ...

  6. HttpClientFactory与Steeltoe结合来完成服务发现

    前言 上一篇说了一下用HttpClientFactory实现了简单的熔断降级. 这篇就来简单说说用HttpClientFactory来实现服务发现.由于标题已经好明显的说了Steeltoe 因此这里会 ...

  7. 什么?你竟然还没有用这几个chrome插件?

    前言 其实18年之前写过一篇关于chrome插件的文章,里面安利了4个chrome插件.鉴于这已经是9102年了,之前觉得好用的chrome插件跟新了解到的比起来,还是差了那么点味道.所以决定再更新一 ...

  8. Vim 下的复制/粘贴/剪切/撤销

    一 了解 vim 有 12 个粘贴板,分别是 0.1.2.....9.a.“.+:用 :reg 命令可以查看各个粘贴板里的内容.在 vim 中简单用 y 命令只是复制到 "(双引号)粘贴板里 ...

  9. springboot情操陶冶-web配置(一)

    承接前文springboot情操陶冶-@SpringBootApplication注解解析,在前文讲解的基础上依次看下web方面的相关配置 环境包依赖 在pom.xml文件中引入web依赖,炒鸡简单, ...

  10. 痞子衡嵌入式:飞思卡尔i.MX RT系列MCU启动那些事(6)- Bootable image格式与加载(elftosb/.bd)

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是飞思卡尔i.MX RT系列MCU的Bootable image格式与加载过程. 在i.MXRT启动系列第三篇文章 Serial Down ...