在我过去的近两年工作中,我们一直在应用 Scrum 敏捷项目管理方法来开展工作,今天,我先从它的角色划分来讲起,毕竟这可是它最鲜明的特征。

首先,为什么这种项目管理方法叫 Scrum ?
Scrum 是一个引申词,原义是橄榄球场上的并列争球。橄榄球号称是美国的国球,受关注度最高,我们经常听到的超级碗 Super Bowl(/bəʊl/)就是它的年度冠军赛。

就像橄榄球运动极度强调团队协作一样,它是用于开发和交付软件产品的一个框架,且过程是增量和迭代的。

好,我们回到 Scrum 的角色划分。
基于 Scrum 框架开展工作时,会涉及三个角色:产品负责人、ScrumMaster和开发团队。

产品负责人(PO)

第1个核心角色是产品负责人,Product Owner,简称 PO。

他负责两个层面,分别是 代言人产品定性
从经济层面来考量,他要考虑每一期迭代的资金投入是否合算,或者说投资回报率 ROI(Return on Investment)。最重要的是,与各内部干系人形成一个统一愿景,这些干系人一般会包括业务方、市场人员等等。

在产品定性上,他负责敲定要开发什么,以什么优先级顺序开发。

所以在 Scrum 这个框架体系里,产品负责人很明显地扮演了一个承上启下的代言人角色。

ScrumMaster

第2个核心角色是ScrumMaster,他会负责指导团队在通用的 Scrum 框架上遵循正确的敏捷过程,他也会帮助大家解决跨团队的沟通问题,
让每个人理解、并乐于接受 Scrum 的价值观、原则和实践。

ScrumMaster 就像是前面所提到橄榄球运动的教练,他会观察整个实践过程,帮助大家达到更高级别的工作效能。

ScrumMaster 也是团队的服务型领导,他着重于为整个团队提供服务保障。他的领导力主要是体现在过程权威,帮大家定义和遵守流程,最终确保交付不延期。

开发团队(TO)

第3个核心角色是开发团队,就是在 TeamLeader 的带领下负责最终的交付。

对比而言,作为开发团队的 TeamLeader 也要擅长跨团队的沟通能力,甚至很多会议 ScrumMaster 和 TeamLeader 都是要一起参加的;

说起来的话只要是 ScrumMaster 在做的事情,我觉得 TeamLeader 都要会,这是沟通力的表现和保障,然后才是关注核心的开发技术,在敏捷中 TeamLeader 也叫 Technology Owner,简称是 TO,技术能力级别通常是高级工程师,或者是架构师。

开发团队,除了有形的人员,还需要良好的内建可视性,帮助落地的工具有很多,比如 Jira、禅道、Teambition。通过这些工具能获悉到每个人每天在做什么,进展如何,何时能完成。

在呈现方式上,我们采取了用户故事 + 子任务的一对多拆分模式。用户故事是产品负责人 PO 定义的,子任务通常是 TO 带领开发团队一起投个屏,逐个拆解的。所以,这些可视化工具也间接承载了工作的流转去向,以及结果状态。

开发团队其实是一个跨职能的综合体,有负责前端 HTML5 的、移动客户端 iOS 或 Andriod 的、有中、后台开发的(像 Java、Python、C#等等),还有测试小伙伴,这样整合在一起,团队整体的目标就比较容易统一。

如果上 OKR 的话,团队层面不同职能人员的 Objectives(目标)可以很迅速的达成。OKR 就是 Objectives and Key Results(目标与关键结果)。敏捷开发和 OKR 概念,在以后的分享中会再拎出来说一说。

团队的人数一般会控制在 10 个人以内,这样便于降低沟通成本嘛。

那敏捷的跨职能开发团队于企业来讲还是有代价的,简单地说就是资源问题,同一个角色被安排到某一个团队时,那他至少在最近的一到两个迭代都是跟着这个团队走的,别的团队如果需要人手那资源就不够,不够就得招人,而招人就会促使人力成本增加。

另外,在开发质量层面上,TeamLeader 会组织整个开发团队开展 CodeReview 代码评审会、新知识培训,以及与运维方一起完善 CI/CD,也就是持续集成和持续部署。

对待会议的态度

好,介绍完这三种角色,我们会发现敏捷实践中,开的会可是不少的。
好处就是,在两周一个迭代的周期里,通过会议的交叉可以将需求吃得很透。要说会议多而浪费时间也可以这么讲,之所以要这么做,主要就是说它能克服开发人员的一个隐性问题,就是“都不太喜欢学习业务知识”,通过多频次需求的讲解和鞭策,在最终交付的时候,做出来的东西基本都是靠谱的。
不然,十天半个月过去了,交付的东西要是无法向产品负责人 PO 交代,PO 就无法向业务部门交代,结果就是公司层面无法向最终用户提供服务,一环扣一环。
因为会议的本质是共识的达成,这个也算是一点点的大局观吧。

好,今天先简单介绍了 Scrum 敏捷框架里的三大角色,下一次再和大家分享更多关于 Scrum 的故事。

如果大家想学习更完整的敏捷实践,可以 [查看视频格式] 。

Scrum 敏捷实践中的三大角色的更多相关文章

  1. 菜鸟Scrum敏捷实践系列(三)用户故事的组织---功能架构的规划

    菜鸟Scrum敏捷实践系列索引 菜鸟Scrum敏捷实践系列(一)用户故事概念 菜鸟Scrum敏捷实践系列(二)用户故事验收 菜鸟Scrum敏捷实践系列(三)用户故事的组织---功能架构的规划 采用Sc ...

  2. 菜鸟Scrum敏捷实践系列(二)用户故事验收

    菜鸟Scrum敏捷实践系列索引 菜鸟Scrum敏捷实践系列(一)用户故事概念 菜鸟Scrum敏捷实践系列(二)用户故事验收 菜鸟Scrum敏捷实践系列(三)用户故事的组织---功能架构的规划 一.用户 ...

  3. 菜鸟Scrum敏捷实践系列(一)用户故事概念

    菜鸟Scrum敏捷实践系列索引 菜鸟Scrum敏捷实践系列(一)用户故事概念 菜鸟Scrum敏捷实践系列(二)用户故事验收 菜鸟Scrum敏捷实践系列(三)用户故事的组织---功能架构的规划 敏捷开发 ...

  4. 浅谈敏捷组织中PMO的角色

    所谓的"敏捷组织"其实并没有标准的模式,而且PMO(项目管理办公室)并没有一个标准的角色定义.有一个非常普遍的误解,公司在选择"敏捷"或者"瀑布&qu ...

  5. Scrum三大角色特点

    灵感来自于一段冷笑话: 一天,一头猪和一只鸡在路上散步,鸡看了一下猪说,“嗨,我们合伙开一家餐馆怎么样?”,猪回头看了一下鸡说,“好主意,那你准备给餐馆起什么名字呢?”,鸡想了想说“餐馆名字叫火腿和鸡 ...

  6. Scrum敏捷开发过程

    首先来说一下什么是敏捷开发: 敏捷开发(Agile Development)是一种以人为核心.迭代.循序渐进的开发方法. 怎么理解呢?首先,我们要理解它不是一门技术,它是一种开发方法,也就是一种软件开 ...

  7. 敏捷组织中PMO应遵循的准则

    敏捷改变了人们的工作方式,不仅仅是开发部门,而且还包括其它的部门,例如HR.财务以及PMO等.在大多数组织中,PMO是一个控制体.它指导项目团队的规范.模板以及流程.目前,大多数的IT组织都敏捷化了. ...

  8. 敏捷开发中的Scrum流程和术语【转】

    任何人力流程都离不开人来执行,所以在讲解Scrum流程之前,有必要先把Scrum中的角色讲一下. 一天,一头猪和一只鸡在路上散步,鸡看了一下猪说,“嗨,我们合伙开一家餐馆怎么样?”,猪回头看了一下鸡说 ...

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

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

随机推荐

  1. [HNOI2019]鱼(计算几何)

    看到数据范围n<=1000,但感觉用O(n^2)不现实,所以考虑方向应该是O(n^2logn). 一种暴力做法:用vector存到1点相同的2点和到2点相同的1点,然后枚举A,枚举BC,再枚举D ...

  2. 网络安全与CTF在线学习资源网站

    http://www.sec-wiki.com/skill/ 安全技能(里面渗透逆向编程都有介绍) http://blog.knownsec.com/Knownsec_RD_Checklist/ 知道 ...

  3. Maven 仓库搜索服务和私服搭建

    Maven 仓库搜索服务 使用maven进行日常开发的时候,一个常见问题就是如何寻找需要的依赖,我们可能只知道需要使用类库的项目名称,但是添加maven依赖要求提供确切的maven坐标,这时就可以使用 ...

  4. Linux基础篇三:文件系统

    /bin      实际上是  /usr/bin /sbin    实际上是  /usr/sbin /usr/bin 里面的命令其实是依赖  /lib64  或者    /lib32 ldd  /us ...

  5. cas sso单点登录 登录过程和登出过程原理说明

    CAS大体原理我就不说了,网上一大把,不过具体交互流程没说清楚,所以有这篇文章,如果有错误,请多多指教 登录过程 用户第一次访问一个CAS 服务的客户web 应用时(访问URL :http://192 ...

  6. Java程序员常用Linux性能分析命令

    性能分析 vmstat 虚拟内存统计 用法 Usage: vmstat [options] [delay [count]] Options: -a, --active active/inactive ...

  7. JavaScript 简介与语法

    一.JavaScript简介 ).head里面 ).body里面 (在body内最为严谨) ).</html>之后 //程序上来要执行的部分 [2]三个常用对话框 alert()警告对话框 ...

  8. 对“深入理解 Java 内存模型(六)——final”的学习

    转载自https://www.infoq.cn/article/java-memory-model-6/ 与前面介绍的锁和 volatile 相比较,对 final 域的读和写更像是普通的变量访问.对 ...

  9. HTML的img标签:alt属性和title属性

    当浏览器卖主扭曲了标准并且自顾自的不按规则去做一些事,他们可能会造成一些问题,或者至少产生了混淆.例子之一就是一些浏览器处理alt属性(一般会被错误的称作alt标签)的方式,比如拥有大量用户的Wind ...

  10. [LC] 226. Invert Binary Tree

    Invert a binary tree. Example: Input: 4 / \ 2 7 / \ / \ 1 3 6 9 Output: 4 / \ 7 2 / \ / \ 9 6 3 1 /* ...