IPD敏捷开发“三步走”实践分享

原创 王俊魁 睿创咨询

前言

在IPD咨询项目实施过程中,我们经常会碰到客户这样说,你们IPD很好,就是周期太长,速度太慢,能不能让IPD敏捷一些,适应企业快速的产品革新。随着睿创服务越来越多软件+硬件结合业务模式客户,睿创思考以一种更加敏捷的IPD来适应客户新的业务模式,让敏捷IPD同时服务于硬件和软件开发。

1.敏捷开发IPD三步走

早在2009年,华为就正式发文在全公司推行敏捷开发理念,认为敏捷/迭代开发已经成为业界主流软件开发方法,与瀑布模式相比,其在应对需求变化、提升产品质量、加快需求响应、缩短交付周期、提前暴露风险、及时激励员工以及平滑人力资源的使用等方面具有明显优势。

华为敏捷IPD主要分成三步走,三步走策略采取从内向外逐步扩大"迭代"循环范围,三步走核心思想敏在于捷转型成功的关键是团队意识的转变和能力的提升,通过三步走的策略,实现人员技能、工程能力、流程、工具等方面的积累,在风险可控的情况下逐步达到全面敏捷的目标。

第一步:项目级敏捷

聚焦单个项目组或多个项目组协同的开发过程和能力改进;对IPD流程的对外交付点及非研发领域(用服、Marketing等)没有影响。

实践中要求通过持续集成、开发测试拉通、迭代、回顾会议、自动化测试、站立会议、用户代表参与现场迭代特性验收等工具进行实施,引入敏捷团队PO和Scrum Master角色、结对编程理念。

通过不断在计划开发阶段实施敏捷迭代开发可以培养人员,储备敏捷实践技能,带来质量和效率的提升,激发团队士气,逐步掌握敏捷思想。

项目及敏捷适用于所有项目组,通过试点后可以全面推广。华为在09年要求所有主力产品的在研软件版本均要在TR2-TR4A之间进行项目级敏捷实践,每个软件版本至少选择一个项目组实施。

图1 华为项目敏捷实施场景-项目组实施

图2 华为项目敏捷实施场景-按特性组

图3 华为项目敏捷实施场景-按模块组

第二步:版本级敏捷

版本级敏捷实施的范围将扩展到TR1'-TR6,对架构、设计、非研发领域协同(用服,Marketing等)等多个方面能力提出了更高的要求;版本具备按特性向最终客户分批交付的能力,加快对用户响应速度(TR1'表示在版本级敏捷下的TR1定义和当前IPD流程中定义的TR1将会有区别)。

实践中要求引入更高级别的需求管理工作,版本级敏捷要求需求优先级不断刷新,引入one track模式。

通过版本级敏捷可以缩短交付周期,降低版本维护成本,提高需求命中率,提升整个版本的质量和效率。

版本敏捷的要求较项目敏捷的要求高,版本中的项目组已具备敏捷迭代能力,版本的架构风险可控(如大部分增量开发产品),版本人员具备较好的系统设计能力,具备良好的持续集成和自动化测试能力。在能力不具备的情况下,可能带来一些问题,如架构和设计能力不足,导致后续迭代对前面工作带来大量返工;自动化测试能力不足,无法应对密集的集成测试;交付前验收不充分,影响发布质量。

华为在09年试点版本级敏捷,对入口条件进行严格审核以降低风险。

第三步:产品级敏捷

实施范围扩展到产品的全生命周期(含所有版本),以更小的需求包接纳客户需求,给用户提供更快的市场响应速度,将在规划、组织结构、主流程、市场、财务、供应链、商务等方面带来巨大挑战。

实践中要求产品需求管理、版本规划和策略、多个并行需求包开发团队的协同和管理。

通过产品及敏捷可以从全流程角度减少需求等待时间,最大限度的缩短TTM,更聚焦客户价值。

需要具备成熟的版本级迭代能力才能实现产品级敏捷,精细化的需求管理对管理者和需求分析提出了更高的要求,多个需求包团队并行开发,更容易导致合入主版本产生设计冲突。

相关推荐
workflower4 小时前
python代码Bug排查
测试用例·软件工程·需求分析·敏捷流程·结对编程
用户6120414922131 天前
C语言做的城市天气数据管理与统计
c语言·后端·敏捷开发
workflower2 天前
架构描述语言Architecture frameworks and architecture description languages
测试用例·软件工程·需求分析·敏捷流程·结对编程
workflower3 天前
GitHub宕机自救指南
测试用例·需求分析·uml·敏捷流程·结对编程
间彧3 天前
在敏捷开发中,什么是Burnout
敏捷开发
间彧3 天前
什么敏捷开发
敏捷开发
纯JS甘特图_MZGantt4 天前
让你的甘特图能力爆表!mzgantt插件开发完全指南
javascript·敏捷开发
大熊猫侯佩4 天前
韦爵爷闯荡 Swift 6 江湖:单例秘籍新解(中)
swift·敏捷开发·apple