一、背景

近30年来,企业面对的商业环境瞬息万变,移动、社交、物联网、云计算、大数据、AI等蓬勃发展,传统研发模式越来越无法适应快速变化的市场需求,为了应对这些挑战,华为的研发模式也在不断变迁、优化,从90年代初游击队式开发,到2000年引入IPD-CMMI,转变为集团军作战模式,到2008年经过敏捷思潮的洗礼,开启了“班长的战争”这一全新模式,形成了 “敏捷+ DevOps”相融合的、独特的华为敏捷研发模式。通过这种独特的敏捷模式,拥有8万华为研发人员的研发体系,行走在时代的前沿,在电信运营商、企业、终端和云计算等领域构筑了行业领先的解决方案优势。

二、敏捷、DevOps方法论介绍

敏捷开发模式,遵循万物生长的客观规律,通过不断迭代的增量式开发,确保可运行的软件逐步生长壮大,并尽早获得客户的反馈,及时开展优化。

DevOps理念是在开发流程和组织结构上,打破部门墙。通过端到端全自动化的持续交付流水线工具链,将市场、开发、运维等环节高度协同起来,并不断提升Ops环节的自动化能力,解放人力,聚焦于业务开发实现上。

三、华为敏捷项目管理实践

华为敏捷项目管理,融合了敏捷、DevOps思想,不仅仅是开发阶段的敏捷,而是打通市场、交付、运维、运营的端到端敏捷。在实践中通过运维自动化,将Scrum敏捷团队开发的产品快速上线,并通过及时的运营,反馈给敏捷团队进行方向调整。

1、华为敏捷项目管理流程如下

敏捷开发流程可划分为准备、计划、开发、反馈四个阶段。

2、准备阶段

 按照模块/服务组建全功能团队 ,团队包括PD(产品经理)、Scrum Master、UE(UCD工程师、美工/视觉)、SE(系统工程师)、开发、测试、运维、运营。每一个团队人数控制在6-12人。这需要配合系统解耦,模块足够小,或者采用微服务架构。

○  选择合适的敏捷 项目管理工具 。软件开发服务团队采用DevCloud on DevCloud的开发自用模式,可创建Scrum流程项目或精简流程项目(精简流程项目是比敏捷模式更简洁的模式,适合小、微团队和个体开发者)。

3、计划阶段

PD是本阶段的核心角色。需求从线上反馈、线下访谈、友商分析、头脑风暴等渠道进入产品Backlog后,需求优先级由PD实时刷新、定期评审,确保“做正确的事”:

○ PD对产品Backlog中Epic和Feature进行优先级分层排序,选择优先级高的特性确定发布计划。

○ 在每个Spring启动前,按照优先级排序的Story制定迭代计划。

4、开发阶段

Scrum Master是本阶段的核心角色,需保证整个团队高质高效“正确的做事”:

○  基于迭代故事墙(看板) ,各个全功能团队开展每日站立会议,将进展和求助录入Story讨论区,早会讨论内容通过站内消息和邮件等实时通知责任人。

 开发人员提交代码时,发起同行评审。 之后由Scrum Master进行代码审核,确认没有问题后合入版本主干。

○  每天定时执行自动化静态代码检查任务 ,检查编码安全(如未授信访问)、编码问题(如空指针引用)、圈复杂度、重复率、编程风格,问题清零才允许构建出包。

 通过云端自动化的持续交付流水线 ,实现持续构建、持续部署(包括脚本自动下发、比对)、持续测试(功能、接口、性能、可靠性等实现100%自动化)、持续发布、持续监控,可将Ops端手工操作的时间缩短到20%内,全功能团队可以聚焦于业务交付上,显著提升效率和产品质量。

代码提交时按照规范备注Story ID,即可将代码关联到对应需求上。创建测试用例和缺陷时,也需关联需求,这样就实现了“需求-代码-用例-缺陷”的双向追溯。

5、反馈阶段

反馈阶段主要开展验收和回顾活动。

○ 召开ShowCase会议,由PD进行验收,确保产品功能与需求一致。

○ 转测试回归不通过问题,需由Scrum Master辅导问题责任人进行回溯,并召开整个团队的质量回溯会议。会议重点在于分析问题根因,并识别出管理、流程、技术、工具上可落地的改进点。这些改进点每一个都必须符合Smart原则,是可落地、可执行的,不能出现大话空话套话。而且这些问题都要求最晚在下一个迭代中,执行落地,以避免问题再次出现。

○ 通过迭代需求统计报表和燃尽图,查看需求交付进展。

○ 迭代遗留缺陷报告呈现每个模块/服务质量情况,并设置质量门禁。单服务遗留严重及以上级别问题,或者总遗留DI值(遗留缺陷密度)>x分,则服务质量不达标,不允许发布。

重点提一下质量回溯会议,对应于敏捷迭代回顾会议,是华为持续改进的实践瑰宝。其要义是塑造整个团队对事不对人、勇于直面问题、只要有方法有措施下次改进不再重犯错的“从泥坑里爬起来就是圣人”的文化氛围。

下方是一个华为的开发者活动,扫码立即生成 你的2018年度 开发者报告 ,感兴趣的可以试试。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/31548113/viewspace-2286378/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/31548113/viewspace-2286378/

史上最全 | 华为敏捷管理经验全复盘相关推荐

  1. 计算机2 游戏攻略,史上最坑爹的游戏2全关卡游戏攻略大全

    史上最坑爹的游戏2全关卡游戏攻略大全, 史上最坑爹的游戏2再次重出江湖,注意这一次是全新的第二部哦,相对于前作来说,这款新作的可玩度再次有所提升,绝对是2014最搞笑的单机游戏.下面为大家带来 游戏全 ...

  2. 史上最强大的华为Mate40系列:全球唯一5nm 5G SoC,顶配超1.8万元!

    2020年10月22日,华为宣布推出2020年全新旗舰手机华为Mate40系列,华为Mate40系列实现强悍性能.全能影像和创新交互的空前突破,让人们对全场景智慧生活未来的构想更进一步. 华为Mate ...

  3. 史上最贵华为手机Mate X:售价1万7 可折叠屏幕 支持5G

    选自|网易科技.网易手机 作者|崔玉贤.段嘉祺 [网易智能讯 2月25日消息]巴塞罗那时间2月24日下午,华为在2019年MWC正式发布了首款5G折叠手机:Mate X,售价2299欧元(折合人民币1 ...

  4. 这可能是史上最全的Python算法集!

    来源 | CSDN(ID:CSDNnews ) 本文是一些机器人算法(特别是自动导航算法)的Python代码合集. 其主要特点有以下三点:选择了在实践中广泛应用的算法:依赖最少:容易阅读,容易理解每个 ...

  5. 华为云平台使用手册_华为云首发全生命周期应用平台,四大能力解决政企上云五大难题...

    9月19日,在华为全联接大会上,华为云正式发布全生命周期应用平台.华为云应用平台服务产品部副总经理汪维敏介绍,华为云无缝整合三大尖刀产品(华为云DevCloud.ServiceStage.ROMA), ...

  6. 手机投屏到电视的5种方法_安卓手机、苹果手机投屏到电视史上最全的方法

    安卓手机和苹果iPhone手机怎么投屏到电视?楼主汇总了5种投屏方法,这应该是史上最全的了.一共有5种投屏方法,大家可以选择适合自己的.方法一:iPhone手机自带的投屏功能 AirPlay 优点:快 ...

  7. 史上最全的 MySQL 高性能优化实战总结

    转载自   史上最全的 MySQL 高性能优化实战总结 一.前言 MySQL 对于很多 Linux 从业者而言,是一个非常棘手的问题,多数情况都是因为对数据库出现问题的情况和处理思路不清晰.在进行 M ...

  8. 史上最全数据库中间件详解

    导读:本文详细介绍了中间件,主要从数据库拆分过程及挑战.主流数据库中间件设计方案.读写分离核心要点.分库分表核心要点展开说明. 1. 数据库拆分过程及挑战 垂直拆分.读写分离.分库分表(水平拆分).每 ...

  9. 史上最全分布式数据库概述

    墨墨导读:在集中式数据库系统不能完全符合实际需要的形势下,集中式DB的"集中计算"概念向"分布计算"概念发展.分布计算主要体现在客户机/服务器模式的分布式数据库 ...

最新文章

  1. 解决错误:No module named ‘Cryptodome‘ 和错误rosbag.bag.ROSBagException: unsupported compression type: lz4
  2. springboot配置spring.profiles.active多环境支持
  3. JavaScript响应键盘不再用KeyboardEvent.keyCode,而是用keyboardEvent.code
  4. 浏览器时间久了重新登录_注意!今日开始打印一建准考证,附各地时间及常见问题汇总...
  5. Fiddler抓包工具详解(二)(fiddler菜单工具栏详解,相关快捷键)
  6. windows os x linux比较,对比测试:Ubuntu 11.04 vs Win7 vs OS X 10.7
  7. 第一章 对象引论02
  8. CVE-2020-1472 漏洞缓解请教!
  9. python 编码解码原理_Python JSON编解码方式原理详解
  10. MyBatis-3.4.2-源码分析12:XML解析之mapperElement(root.evalNode(mappers))
  11. 计算机组成原理期末复习【超实用】
  12. charset参数 sqluldr2_sqluldr2.bin数据库导出工具
  13. 46种国内外的PCB设计工具-你知道的有哪几种呢?
  14. android显示每一年所有日期的功能,Android获取本周所有日期
  15. vb与c语言数组传递,在VB中调用C/C++语言编写的dll,数组参数的传递
  16. Java实现矩阵运算——矩阵乘法、矩阵转置、自动填充矩阵行
  17. 电商运营风向标:数据分析。
  18. (28)Verilog实现倍频【方法三】
  19. via自定义搜索引擎代码_Via浏览器自定义主页
  20. Java的TCP/UDP网络编程+多线程实现服务器端与客户端间的通信

热门文章

  1. 各位集美兄得看过来! 利用AI给青春有你2的选手们做数据分析挖掘(一):基于PaddlePaddle爬虫选手信息
  2. ZigBee的无线通信与网络组建
  3. layui 实现问卷表单【页面数据渲染+答案提交】【前端完整代码】
  4. 我认识的林家翘先生 转载
  5. 合天CTF-签到般的包含
  6. 黑客攻防从入门到精通 第7章及后文
  7. pgsql查表名_PostgreSQL如何查询所有表名
  8. element ui 表格里面放图片
  9. 实用的twitter客户端:Twitterrific for Mac
  10. 程序猿拍婚纱照的真实记录