团队如何最大限度地发挥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. swagger上传文件并支持jwt认证

    背景 由于swagger不仅提供了自动实现接口文档的说明而且支持页面调试,告别postman等工具,无需开发人员手动写api文档,缩减开发成本得到大家广泛认可 但是由于swagger没有提供上传文件的 ...

  2. arcEngine开发之IMapControl接口

    简介 IMapControl接口最重要的是包含IMap属性,还提供另外的属性用于:管理一般的外观显示,管理图层,加载地图文档以及跟踪在界面上显示的图形. 小知识点:一般一个接口的最新实现是 Defau ...

  3. Maven学习(二)-- Maven项目构建过程练习

    摘自:http://www.cnblogs.com/xdp-gacl/p/4051690.html 一.创建Maven项目 1.1.建立Hello项目 1.首先建立Hello项目,同时建立Maven约 ...

  4. PAT1037:Magic Coupon

    1037. Magic Coupon (25) 时间限制 100 ms 内存限制 65536 kB 代码长度限制 16000 B 判题程序 Standard 作者 CHEN, Yue The magi ...

  5. new/delete和malloc/free的比较

    从C++角度上说,使用new分配堆空间可以调用类的构造函数,而malloc()函数仅仅是一个函数调用,它不会调用构造函数,它所接受的参数是一个unsigned long类型.同样,delete在释放堆 ...

  6. 多个RestTemplate对象示例

    @Configuration public class MyConfiguration { @LoadBalanced 5 @Bean RestTemplate loadBalanced() { re ...

  7. SpringMVC中利用@CrossOrigin注解解决ajax跨域请求的问题

    1. 什么是跨域 跨域,即跨站HTTP请求(Cross-site HTTP request),指发起请求的资源所在域不同于请求指向资源所在域的HTTP请求. 2. 跨域的应用情景 当使用前后端分离,后 ...

  8. Spring Security 源码分析(四):Spring Social实现微信社交登录

    社交登录又称作社会化登录(Social Login),是指网站的用户可以使用腾讯QQ.人人网.开心网.新浪微博.搜狐微博.腾讯微博.淘宝.豆瓣.MSN.Google等社会化媒体账号登录该网站. 前言 ...

  9. spring boot sso

    https://hellokoding.com/hello-single-sign-on-sso-with-json-web-token-jwt-spring-boot/ https://github ...

  10. Javascript书籍推荐----(步步为赢)

    在此分享一些高清javascript书籍,因为我也没有全部看完,所以在这只是推荐,不同的书适合不同的人,所有的书在网上均有电子书,若找不到,请在博客留言,我有大部分书籍的电子稿.希望有更多的好书分享出 ...