团队如何最大限度地发挥Scrum和敏捷的优势?

回想一下,Scrum团队在Scrum的框架内定义了自己的流程。这其中包括方法、工具和互动以及如何履行Scrum角色的职责、如何使用工件和事件等。

如何确定团队做什么以及怎么做?
从产品管理方法到研发及质量管理方法。从团队的沟通协作方式到团队成员如何有效利用团队知识提升自己的技能及能力等等。
在充满不确定性且不断变化的环境中交付复杂的产品会涉及到很多方面。因此,我们尝试简化过程并聚焦具体的行动。 下面是改进团队流程的5个步骤,希望能对你的团队有所帮助:

第1步:增加透明度的深度和广度

要改进团队流程,就一定要有透明度。如果只是要“遵守规则”,Scrum只会提供最低程度的经验论。
而只有当团队真正接受经验论时,才更有可能改进流程。最重要的是,团队必须要了解其流程如何影响结果。
以下是团队需要探讨的一些问题:

  • 我们如何决定产品做什么?这些决定如何实现透明化并且需要对谁透明?
  • 在任何特定时刻,我们如何理解团队在实现增量目标方面的进展?(这可能是每日目标,Sprint目标或更长期的目标。)
  • 就我们所做的每一项工作而言,什么才是有价值的输出?怎样才能让它更有价值?
  • 怎样打造高品质的产品?目前的产品质量如何?发展趋势如何?
  • 哪些因素会让结果更完美?哪些因素会导致不那么完美的结果?
  • 我们提出了哪些假设?这些假设如何验证?

第2步:使用精简原则

精益软件开发有七个原则。虽然这七个原则都很有用,但在这里我做了简化。我的同事Simon Reindl向我介绍了他所谓的精简原则。

  • 价值最大化
  • 浪费最小化
  • 流动最大化

这三个原则是相互关联的。流动最大化意味着我们尽可能快的推动项目(即价值)在整个过程中的流动,同时还要保证质量和客户满意度。摒弃浪费可以帮我们做到这点。因为浪费从来不会给客户增加价值。
现在,从精简原则的视角来评估整个流程。寻找资源浪费的迹象和能将价值流最大化的机会。常见的资源浪费来源如下:

  • 开发出客户不想要或者不会使用的产品
  • 心有旁骛、不断切换任务
  • 半成品
  • 质量差的产品
  • 不必要或无效的流程和文档

第3步:期待变化,寻求更好(即检验和调整)

团队使用的方法和工具将受到产品类型、产品技术平台、产品使用环境、产品使用者及使用方式、监管与法律环境、市场走向、不断变化的业务需求等因素的影响。
所以说,涉及的因素很多。而且大部分因素会随着时间推移而发生改变。因此,团队在检验和调整他们的工作内容、工作原因、工作方法以及工作收益时必须保持警惕。
世界各地的产品开发社区在不断创造和共享新的方法和工具,因此保持联系并不断学习非常重要。
实际上,团队通常需要不断改进和发明新的方法和工具,来满足他们的独特需求。在复杂的工作中,并没有所谓的最佳方法。最佳方法是团队当前情况下的最优方法,而一个月后随着团队情况的变化,最优方法也会有所不同。
参与推动领域或行业发展。

第4步:专注于交付“完成”增量

将1-3步应用到交付“完成”增量中。
Scrum的全部意义在于“完成”。可发布产品的增量有利于降低风险,优化可预测性,同时体现敏捷业务的优势。“完成”是检验进度的唯一真正标准。
如果你没有在每个Sprint结束之前交付至少一个“完成”增量,那你就要注意了,这就是你需要集中精力做到的一点。
那么如何改进流程以达到“完成”状态呢?
当然,改进流程的方法有很多。但是,说到实现“完成”状态,这里有很多共性的因素需要我们考虑。因此,我和Simon Reindl套用1-3步中的方法将需要探索的共性因素的范围缩小,简化成了7个特定领域。这7个领域刚好可以帮助团队踏上探索和改进流程之旅:

  • 明确定义什么情况下才算“完成”
  • 有效使用Sprint目标
  • 尽量在Sprint周期结束前“完成”PBI(Product Backlog Item)
  • 保证质量
  • 解决技术债务问题
  • 识别并消除阻碍
  • 不断提升团队技能、知识和能力

第5步:不要满足于触手可及的目标

快速获得小范围的成功是件好事。可以通过改进一些简单的流程获得相对稳定的收益,甚至可以通过局部优化获得一些益处。只是团队需要在一段时间内超越这些触手可及的目标,这个时候,团队需要的就是系统性的优化而不是局部优化(这也可能意味着要颠覆目前团队或产品架构)。
分享一个实例吧。我曾与一个Scrum团队合作过,这个团队没有针对庞大且复杂产品的自动化测试。因为实施自动化测试需要大量工作且成本很高。有很长一段时间,自动化测试作为改进的理念被多次提及,然而,最终这个团队还是选择通过其他途径去提高质量减少浪费。当然,他们确实提高了质量和效率。但是,随着流程的推进每项改进最终获得的收益却越来越少。
终于,他们意识到是时候超越触手可及的目标,寻求更大的利益。他们需要面对来自自动化测试的挑战。由于他们之前在短时间内获得了一些小的成功,所以已经在团队中树立了更强大的团队认同感,准备扩大业务范围(即实施自动化测试)。

总结

Scrum团队要有自己的流程,这一点确实非常重要。当人们觉得自己在某件事上拥有所有权时,他们就会想投入更大精力,获得更好的效果。
改进团队流程是一项持续的工作,永无止境。
你的团队是否能保证在每个Sprint结束时都能构建一个“完成”增量?团队以何种方式表明他们对自己的流程拥有所有权?
团队流程的哪些方面不那么透明,而且可能被忽略了?您希望采取哪些步骤,改进团队流程?

文章来源:Worktile敏捷博客

欢迎访问交流更多关于技术及协作的问题。

文章转载请注明出处。

通过改进团队流程最大限度发挥Scrum的优势的更多相关文章

  1. 冰多多团队-第三次Scrum会议

    冰多多团队-第三次Scrum会议 会议基本情况 会议时间:4月9日 21:30 - 21:45 会议地点:新主楼F座2楼沙发休息处 工作情况 团队成员 已完成任务 待完成任务 zpj 接入Action ...

  2. 冰多多团队-第四次Scrum会议

    冰多多团队-第四次Scrum会议 工作情况 团队成员 已完成任务 待完成任务 zpj 撰写团队任务拆解博客 完成部分Action的实现 牛雅哲 完成了词典单词,词典映射的代码实现,设计了初步的词典异常 ...

  3. 冰多多团队-第五次Scrum会议

    冰多多团队-第五次Scrum会议 工作情况 团队成员 已完成任务 待完成任务 zpj 部分Action整合, 接入语音接口,整合项目解决兼容性问题 ASR bug修复 牛雅哲 跑通了科大讯飞语法识别的 ...

  4. 冰多多团队-第六次Scrum会议

    冰多多团队-第六次Scrum会议 工作情况 团队成员 已完成任务 待完成任务 zpj ASR bug修复 接入IAT模块 牛雅哲 完成语音识别->词典->termux的接口设计,熟悉了语法 ...

  5. 冰多多团队-第七次scrum例会

    冰多多团队-第七次Scrum会议 工作情况 团队成员 已完成任务 待完成任务 zpj 接入IAT模块 debug, IAT 牛雅哲 调研科大讯飞SDK中其他模块,寻找符合我们的需求的部分,将接口更换成 ...

  6. 冰多多团队-第八次Scrum例会

    冰多多团队-第八次Scrum会议 工作情况 团队成员 已完成任务 待完成任务 zpj debug, IAT debug, IAT 牛雅哲 将语音部分迁移到IatDemo上,去将科大讯飞的语音听写dem ...

  7. 如何用ABP框架快速完成项目(10) - ABP只要加人即可马上加快项目进展- 全栈篇(1) - 发挥DDD理论优势的时候到了!

    正如我在<程序员英语二三事(2) - 从听开始>里说的, 任何技术/工具/语言都有其适用场景和上下文环境. DDD理论同样是如此.   现在, 终于到了发挥DDD理论优势的时候啦!   一 ...

  8. H5外包团队 H5开发微信APP的优势有哪些

    H5外包团队 H5开发微信APP的优势有哪些

  9. [团队项目3.0]Scrum团队成立

    Scrum团队成立 5.Scrum团队成立 5.1 团队名称,团队目标.团队口号.团队照: 5.2 角色分配 产品负责人: 决定开发内容和优先级排序,最大化产品以及开发团队工作的价值. Scrum M ...

随机推荐

  1. 14.Ubuntu基本命令

    vi编辑器 {  :上一段diamante } :下一段代码 dw: 删除一个单词 权限 前面的分三组 第一: 文件拥有者的权限 第二:同组者拥有的权限 第三:其他人拥有的权限 前面“-”表示是文件 ...

  2. String 和 new String

    String s1=”welcome”; String s2= “welcome:; String s3 =new String(”welcome”);  //新建对象   指向新的内存   比较内容 ...

  3. Math对象中比较常用的计算数学相关的三个方法

    Math类中提供了三个与取整有关的方法:ceil.floor.round,这些方法的作用与它们的英文名称的含义相对应,例如: ceil的英文意义是天花板,该方法就表示向上取整,所以,Math.ceil ...

  4. Robot Framework之测试用例分层实战

    1.1  测试用例的第一层(交互层) 1. 创建项目资源(Resource). 操作步骤: 点”项目名称”->右键,选New Resource,在弹窗Name 输入框输入资源名称 mykeywo ...

  5. python_自定日历

    >>> from datetime import date>>> daysOfMonth=[31,28,31,30,31,30,31,31,30,31,30,31] ...

  6. IM进化论:腾讯也难逃被颠覆掉的命运

    在一定程度上,腾讯代表了中国IM领域的过去和未来.但有句俗话,后来推前浪,前浪被拍死在沙滩上,"生死腾讯"也总会变为生和死,因为腾讯很可能会有被颠覆掉的一天.腾讯的IM接口是个庞然 ...

  7. Window 下mysql binlog开启及查看,mysqlbinlog

    查看是否开启了binlog: win+r => cmd => 连接mysql=>show variables like 'log_%'; mysql> show variabl ...

  8. 解决window.showModalDialog在Firefox无法支持

    在网页程序中,有时我们会希望使用者按下按钮后开启一个保持在原窗口前方的子窗口,而在IE中,我们可以使用showModalDialog来达成,语法如下 : vReturnValue = window.s ...

  9. python 信息收集器和CMS识别脚本

    前言: 信息收集是渗透测试重要的一部分 这次我总结了前几次写的经验,将其 进化了一下 正文: 信息收集脚本的功能: 1.端口扫描 2.子域名挖掘 3.DNS查询 4.whois查询 5.旁站查询 CM ...

  10. SSH概念及常用操作汇总

    工作有一段时间了,经常用SSH登录远程机器,但对原理一直不是很了解,所以查阅了一些资料,写个小结. 一. SSH是什么? SSH的全称是Secure Shell, 是一种“用来在不安全的网络上安全地运 ...