2017年1月13日举办的【云栖计算之旅】线下沙龙第4期研发管理专场,阿里巴巴技术质量架构师范之岳带来了题为阿里巴巴B2B高效研发管理实践的演讲。本文主要从互联网无线研发的问题与挑战开始讲起,重点讲解了阿里工程效能技术平台,包括云效平台等,最后对阿里一线PL的职责进行了思考。一起来了解下吧。

以下是精彩内容整理:

互联网无线研发的问题与挑战

B2B技术部这几年来面对了很多的问题与挑战,具体如下:

对于不同管理者来说,他们的诉求是有区别的。对于创业团队来说,一开始只有三到五个人,须全民皆研发、全民皆测试、全民皆运维,大家一起考虑怎么将业务发上线,并且拉来更多的用户,考虑不到工程效能、效率的体现和度量等问题。但当业务增长上去之后,团队就会扩大,团队层次区分出来,业务迭代快速,项目并行量大,业务很难快速交付到用户手中;而且,研发团队变大,项目资源管理成本就会提升、透明度低;用户体验要求高,测试成本增长迅速,人肉测试多,应用增长迅速,环境构建复杂,验证难度增加;很多创业公司都用无线,包括大型公司,阿里所有的海外B2B、外贸B2B都有对应的APP,就会带来手机预算大、手机设备杂、手机测试难等问题;对于大型组织来说,我们要和业务方以及不同研发团队打交道,研发过程中各角色协作成本高;还有金融、保险等传统产业的互联网研发思维的转变。

对于老板来说,业务老板尤其关心研发团队在干什么,业务什么时候发布,技术老板关心团队的效率如何,怎么砍业务需求,人手够不够,产品质量如何等。对于开发、测试、运维工程师们来说,他们希望想怎么发就怎么发,随时随地发布需求,高效高质的发布,不要倒排。

老板希望更多集中式的资源与需求管理,研发者们希望有敏捷化的工程实践支撑,包含研发过程到最终上线的过程。

那么,敏捷框架是不是解决这些问题最终的方案呢?

事实上不是,当敏捷思想在中国广泛传播时,更多的是一种理念。所有开发者、业务方、需求方对于敏捷的理解要求是非常高的,有时候落实下去形式上很敏捷,但交付速度并没有变快,敏捷还提倡轻文档轻流程,导致有些公司搞了好久敏捷什么文档没有留下来,敏捷只是一种思想,解决不了实质性工程效能问题。

如果你的组织做了敏捷转型,一个Scrum团队将业务人员、开发人员、测试人员以及运维人员都纳入一个团队,就可以解决互相推卸责任的问题,但两个Scrum团队间没办法解开耦合,会出现协作上的问题,敏捷解决不了这样的问题。

技术债与服务化

对于工程效能的实现,需要有平台来支撑持续集成、快速发布、持续交付等,这种需要工程效能平台的前提是我们的系统本身,如果是几百万行代码、几十个交付模块的大应用,就算有再好的持续交付通道平台也无济于事,因为小业务改动需要大应用发布,项目没法并行起来,无法轻快!

近几年,阿里在做服务化的改造以及微服务的实践,微服务改造应用的拆解、去耦合是所有持续交付目标的前提。

工程效能技术中台

技术中台支撑整个研发管理、研发行为、持续交付通道。技术中台分为两部分,综合管理有对应的产品支撑,它对应到老板们想要的东西;研发工程效能对应到一线研发工程师的诉求,它本身也进行了分层,上层就是直接的应用,比如分层自动化、无线适配、远程真机以及性能测试等,下面的服务层我们有持续集成服务、自动化服务、测试数据服务、测试环境服务,对于B2B技术部现在使用的平台,只要拉出代码一键即可部署完项目需要的整个环境。

技术中台管理闭环

我们希望建设从需求规划——立项——部署环境、持续集成——最终的验证测试——再集成——进入准生产环境——全自动化验证——最后发布是上线,上线后要做业务的数据盘点,整个过程是闭环,我们希望每个节点都有对应的产品支撑,经过三四年的建设,大部分的节点我们已经都有产品做支撑,高效优质且透明,无线工程目前也在起步阶段。

云效平台

上图为云效平台持续交付通道图,对于项目上的各种并发的小需求,我们会有前台分圈的概念,把一些有相关业务耦合的应用模块放在同一个分圈里面,不同分圈的业务模块可以做独立的发布。为什么要做分圈呢,就是有时候我们做自动化验证时,需要把关联度放在一起来验证,所以A、B、C、D就会有独立分圈的发布通道,不同的分圈做完自动化验证后,就会直接进入到自动化生产环境中去,达到持续发布效果,它是有一定条件限制的完全自由的独立发布,这个限制主要还是出于质量保障,质量保障基本基于全自动化验证。

差异化的研发流程策略

阿里B2B技术部非常强调差异化的研发流程策略,我们把重点的大型项目和小型需求是分的很开的,目前,我们测试与开发的配比基本达到1比10,所以我们肯定做不到所有的变更、所有的项目都有测试同学直接来接手,但不代表没有那样的测试行为。

  • 大型项目:对于重点大型项目,我们有测试人员直接进入,走分迭代的瀑布式项目流程,Milestone的保障,每个节点都有要求输出,比如文档评审等;
  • 小型需求、bugfix: 小型需求的改动量不大,如果开发有足够的分析结果证明需求不需要测试人员参与,但并不意味着不需要测试,项目里的持续集成是一键触发测试过程,然后在发布之前和别的需求合完代码后,还有一道全自动化流程保障,可以跑单元测试、接口测试、UI测试、安全测试等,只有在失败的时候测试人员才会介入查看问题;
  • 核心应用:对于业务来说,不同的应用承担不同的业务,通过流程限制的发布窗口,分层自动化的要求非常高,我们要将核心应用和非核心应用区分开;
  • 核心服务:通过流程限制的发布窗口,让核心服务关联的自动化范围。

阿里一线P Leader的职责与思考

阿里对于一线的研发管理者都是专业技术出身,业务、管理、技术三块缺一不可,阿里是一个业务导向的公司,只有依靠中台,才能快速的支持上层的改变,如果业务想要什么,你做什么出来,你会发现研发成本非常高。只有把业务和技术结合在一起思考,才能做到最好,阿里很多架构师、P Leader都要进行这样的思考,P Leader更多的是要与业务挂钩,团队的考核、团队的方向、团队的目标和建设都是由P Leader来做的。

范之岳:2011年加入阿里巴巴。担任阿里巴巴B2B研发效能平台和对外云效平台的产品负责人,阿里巴巴速卖通业务的技术质量负责人,技术质量架构师。精通研发质量效能平台产品,在敏捷研发、持续交付、研发团队管理等方面有丰富的经验。

阿里巴巴B2B高效研发管理实践相关推荐

  1. 高效研发管理五点经验分享

    高效研发管理五点经验分享 谁应该看 1.人可以少 但流程不能少 2.任务要有负责人,执行要有计划 3.明确绩效和惩罚措施,及时对研发进行激励 4.建立研发人员的成长引导.能力培养和人才选拔机制. 5. ...

  2. 阿里巴巴的 Kubernetes 应用管理实践经验与教训

    作者 | 孙健波(天元)  阿里巴巴技术专家 导读:本文整理自孙健波在 ArchSummit 大会 2019 北京站演讲稿记录.首先介绍了阿里巴巴基于 Kubernetes 项目进行大规模应用实践过程 ...

  3. 研发管理---(1)持续交付

    拥有3万多人的阿里巴巴,线上有上万个应用,上亿的用户即时在线,每天有几百个应用在线上更新,就像在时速200公里的高速公路上横穿马路维修栅栏一样,时刻保持着心惊胆战,而保护这个过程的体系就是阿里巴巴持续 ...

  4. 研发管理系列课程--2022年深圳产品平台与CBB技术管理

    课程背景: 随着产品生命周期越来越短,市场竞争日趋激烈,能否快速地推出客户/市场需要的产品将直接关系到一个企业能否保持持续赢利的能力. 作为企业的领导者及研发管理者,您一定面临着以下问题或挑战: 如何 ...

  5. 献礼20周年! 互联网研发管理现状主题分享

    摘要 Key:Trip.com,携程,携程PMO,携程技术,敏捷开发,PMO,PMI,PMP,Scrum,Agile PMI年度项目管理大会于2019年10月26~27日在上海国际会议中心召开,携程旅 ...

  6. 招商基金数字化转型下的研发管理|ONES 客户案例

    在 4 月 20 日举行的<中国企业软件研发管理白皮书>发布会上,招商基金信息技术部副总监.研发中心主管刘志昆作了<招商基金数字化转型下的研发管理>主题演讲,从数字化转型背景. ...

  7. 招商基金数字化转型下的研发管理|发布会精彩回顾

    在 4 月 20 日举行的<中国企业软件研发管理白皮书>发布会上,招商基金信息技术部副总监.研发中心主管刘志昆作了<招商基金数字化转型下的研发管理>主题演讲,从数字化转型背景. ...

  8. 从阿里巴巴B2B的技术实践看互联网企业如何提升研发效能

    DT时代,企业业务已全面互联网化,而流程复杂.项目周期长.各角色协作成本大的传统研发模式,已逐渐成为企业业务快速发展的绊脚石.如果企业可以在业务需求不断变化的情况下,快速的推进业务上线,接受市场和用户 ...

  9. 阿里巴巴 Kubernetes 应用管理实践中的经验与教训

    作者 | 孙健波(阿里巴巴技术专家).赵钰莹 导读:云原生时代,Kubernetes 的重要性日益凸显.然而,大多数互联网公司在 Kubernetes 上的探索并非想象中顺利,Kubernetes 自 ...

最新文章

  1. 程序员的个人发展注意事项
  2. 基于形态学操作提取水平和垂直线条(五线谱中音符和乐谱线的分离)
  3. swift - if let Optional 语法
  4. Check task status after 2016 Spring festival
  5. jquery多维对象计算个数_多维尺度分析理论概述
  6. OCR数据处理(上篇)+OCR数据处理(下篇)
  7. 超多趣味测评测试微信小程序源码 可插入流量主广告位 无后台
  8. CSS3 Media Query 响应式媒体查询
  9. (77)译码器与编码器(八三编码器)
  10. EMF-edit功能解析
  11. Java中将16进制字符串转换成汉字
  12. 博客园看到的很好的Linux网络编程技巧(此处一字不动的转载过来)
  13. hdu 2037 这个夏天不AC (java)
  14. Windows平台下c++ 内存泄漏检查的办法(如VLD)
  15. 群辉linux系统,群晖 篇五 提高群晖系统可靠性----Linux系统优化
  16. 拼音四线三格图片_为孩子收藏!小学汉语拼音口诀和书写规则!
  17. 毫米波雷达,超声波雷达,激光雷达,摄像雷达比较
  18. 关于光的波粒二象性的解释--答复年少时的疑惑
  19. 基于NB-IoT物联网人体红外防盗报警检测
  20. 学习---微分_中值定理及洛必达法则

热门文章

  1. 【英文文本分类实战】之二——数据集挑选与划分
  2. 快速目标检测--Object detection at 200 Frames Per Second
  3. Ubuntu 14.04 opencv 2.4.9 安装
  4. anaconda-spyder-ipython终端控制台无法停止程序--问题解决
  5. 小学五年级计算机备考方案,小学五年级备考方案(2)
  6. linux线程池实现多线程并发,基于Linux的多线程池并发Web服务器设计-电子设计工程.PDF...
  7. Java多线程- 线程池的基本使用和执行流程分析 - ThreadPoolExecutor
  8. 使用Xcode修改iOS项目工程名和路径名
  9. python余弦相似度文本分类_Jaccard与cosine文本相似度的异同
  10. centos8.2 hyper第一代 第二代_欧洲第一代法王以工程师身份加入拳头游戏,网友齐呼:是真的牛...