Trello中的Scrum

2023-11-20

Trello的用户数量近期超越了1000万的大关,它正迅速成为各色敏捷团队中流行的工具。它的简洁及在Web、移动端优秀的体验,使它从众多更复杂的解决方案中脱颖而出,赢得了更多的团队。因为Trello完全不在意用户如何使用,所以导致用户在用它进行Scrum过程最佳实践时产生一些困惑。去年,我就如何使用Trello及对Scrum和Kanban过程进行管理与很多人进行了交流,同时,我还翻遍了网上所有关于使用Trello管理敏捷过程的文章。今天,我将与各位读者一起分享劳动的果实:使用Trello管理Scrum过程中,我所知道的一切。\

让我们开始吧……\

基础

\

配置我们的看板

\

让我们从最最基础的地方开始(别担心,稍后会更加有趣)。我们要为Scrum设置看板。基础看板的模样如图所示,后文中我将提出一些建议,增加一些额外的内容。\

(点击放大图像)

\

129807f856d6b1bcfdf69e597296999a.jpg

\\

各位读者的过程可能与之不同,但在这里关键的列表是:\

  1. Sprint backlog:在Sprint开始时,在这里计划我们的工作; \
  2. 一个或多个“进行中”列表,按照过程中出现的时间顺序。我这里设置了Dev(开发)、Code review(代码回顾)以及Test(测试)。 \
  3. Done:在整个Sprint中,当我们完成一张卡片时,就把它放在这里。

除了大家“进行中”过程的不同,我也看到了一些其他的调整。最值得注意的是,有些人在完成当前的Sprint后,将列表修改为“完成”(比如“16年2月29日完成”),并为下一个Sprint创建一个新的列表。通过这种方式,我们拥有了以往Sprint的归档,可以在看板的右侧看到最近几个Sprint中所完成的内容。我们可以在合适的时候决定哪些Sprint不相关并将其归档。这种方法比较好,可以对最近Sprint中所完成的任务进行持续跟踪——毕竟,我们往往总是会忘记想要记起的事物:)。\

另外一大不同就是,我们要在哪里保存将来的Sprint和Backlog剩下的内容呢——这也是为什么不在前文中包含这些列表的原因。我会在后文发布管理环节中进行介绍。\

如果额外增加“Ready for(待命)”列表,也会非常有用,只需在每一个“进行中”的列表前增加一个。这样可以更容易明白建立这些工作的原因。是否有大量的卡片堆积在了“测试”中?现在我们可以看到这些卡片到底是“等待测试”还是在“测试中”,不同的状态是由不同的原因导致的,而不同的原因又导致相当不同的解决方法。当它与一个累积流图(Cumulative Flow Diagram)(参加后文中有用的插件)结合时,将会产生巨大的作用。\

卡片

\

当我们在Trello中设置用户故事时,需要注意一些细节。首先,我们可以使用Markdown格式来编写描述,创建我们想要的(详细介绍在这里)美观、格式化的描述信息就更加方便了。其次,我们可以链接到包括Google Driver、Dropbox、Box以及One Driver中的的任意文档。\

(点击放大图像)

\

647eead5ddd39bfa3d4b12b3aeae33ff.jpg

\\

最后,如果大家愿意,可以在卡片中附加一张图片,这张图片在列表中也能看到。这种方法很不错,会更加直观,使大家在忙碌的看板中更容易找到自己想要的卡片。这也许是展现Backlog中大量任务的最佳方式,干系人(Stakeholder)将时刻关注Backlog而非我们的主要Scrum看板。\

(点击放大图像)

\

258ec9c762139fad813d5fd4fd56fdc2.jpg

\\

进阶的内容

\

别抓狂了,快使用标签

\

我们已经完成了看板的设置,下面开始为即将到来的Sprint添加一些卡片。有些人第一反应是应该使用更多的标签。标签很好不是吗?所以让我们为所添加的各种内容(用户故事、任务、缺陷、史诗等等)创建一种分类方式,并用这些标签对每一张卡片进行分类!\

哦,别急着一步登天。建议大家先从一个标签开始,比如缺陷标签。我们将其标记为红色,当大家扫视看板时,相比于其他颜色,红色更能突显出来。但如果有类似于“任务”或“故事”这样的标签,意味着最终将耗费我们的人生来对卡片进行分类,而非完成实际的工作。如果大家认为确实需要设置得更加全面,可以尝试去为那些不需要标签的卡片设置一个“默认分类”(可能是用户故事),并将标签应用于其他卡片上。这至少会节约设置这节标签所耗费的精力,而且也不会影响浏览看板。\

(点击放大图像)

\

25377144906b988a3afaacff75074894.jpg

\\

可能大家想要添加的另外两个标签就是“Blocked(受阻)”和“Urgent(紧急)”。\

“Blocked”标签用于标记当前因团队不可控因素受阻的任务。有些人使用独立的列表来区分它。但使用标签确实要比单独的列表要好,使用标签意味着我们可以看到受阻的工作具体处于过程的哪一部分。这种方式同时还可以让我们看到,它们是否有助于过程的某部分中堆积的工作。\

通常不需要“Urgent”标签,因为这些任务尝尝在每日Scrum就被标记了。然而,如果我们想要一些对紧急/加急的任务进行特殊的处理,甚至只是为了在看板上更容易发现这些任务,那么使用标签将是我的首选途径。\

诀窍:想要快速为卡片添加标签,我们可以将鼠标移动到卡片上并点击标签所对应的序号。在打开卡片的时候,只要我们没有编辑描述或其他内容的时候,我们也可以使用数字快捷键。\

无需子任务的生活

\

最后,开始工作吧!一旦团队把一个故事拉入Sprint中,他们可能想要将它分割成一系列组成故事的任务。但这时往往会令人沮丧,因为Trello中并不支持子任务,但这真不是个问题。\

Trello有很多种方式可以解决这个问题,我将在后文中介绍一些替代方式及其缺点。但现在,只需要知道。使用清单。它简单实用。每一个子任务可以成为卡片清单中的一个条目。当我们勾选某个条目后,系统会就已完成的工作输出美观的统计结果。所以如果有大块的工作,其实可以放在多个清单中。好了,这意味着整个卡片将作为一个整体横跨看板移动,所以没有早期交付物测试。这里就需要我们借助一些经验,在某些情况下将一张卡片分割成多张,而其他的情况应当添加清单。比如,当一些事情可以作为独立单元交付时,为它建立单独的卡片。而当它只是某张卡片工作中的一部分时,将其添加到清单中。\

(点击放大图像)

\

844ccef3eff68fbd53a2fd97154c1eee.jpg

\\

在这张截图中,展示给大家的是如何使用Markdown格式来加粗清单中的部分任务,以及通过任务的缩进用来创建另一级父子关系。这是一个极为简单有效方法,能够保持我们的清单简洁。\

我见过的其他两个备选方法分别是:在卡片标题上使用一些编码来将其分组,或在任务之间使用一张隔离(Spacer)卡片作为浮动的泳道标记。\

第一种方法可以起到一些作用,比如我们要识别CFD用户故事的组成,就要给相关的卡片添加一类似于[US-CFD]的编码。这样的问题是,一方面需要为每张卡片添加一些相关的编码以保持控制,另一方面是卡片之间没有实际的关联,所以很容易就分散了。\

隔离卡片的方式开始看着有点乱,但以我的经验——到后期会越来越乱。此外,太容易将一张卡片放在错误的位置,从而误导所有人。\

这些解决方法都是在尝试解决一些并非Trello想解决的问题。坚持使用它所擅长的方式(比如清单),各位将会感到更多的快乐。\

无需史诗的生活

\

Scrum中,父子关系的另一主要用途是用来追踪史诗及组成史诗的故事。这里有一些解决方法。我见过的方法中,最流行、最成功的就是使用标签。这种在看板之间移动卡片的策略,使我们非常容易看到已经完成了多少史诗,还有多少剩余。\

(点击放大图像)

\

a046470e71b9ba6fdddacb1ff105173e.jpg

\\

另一种替代方法是为每个即将到来的史诗或功能建立一个列表。存在的问题是一旦卡片移动到了另一个列表中时,就失去与史诗间的关联。根据大家的过程不同,这个问题影响可大可小。据我的经验,使用标签是最流行的解决方案,并且十分有效。\

非常不基础的——发布管理的模式

\

对于Scrum团队而言,美化Backlog并保持对发布的计划是生活中非常重要的部分。Trello的简洁界面不会把大家推入设置/管理Backlog或是计划发布的单行道,而是为我们提供一系列选择。一如往常,大家如何去做将依赖于自己的状况和个人喜好。下面,我将介绍一些不同的方式,我认为它们很有意义,同时也会介绍它们各自的利弊。多数情况下,我认为大家会根据项目的规模和复杂度进行选择。\

最简单的方式——单一的“Backlog”列表

\

让我们从最简单的方式开始。我们已经有了一个列表,就是看板上最左边的那个,它被称为“To do”或是“Backlog”,里面的卡片是以优先级排序展示的。\

(点击放大图像)

\

ec639f45b60f83c6e72f5bfa28633a0c.jpg

\\

新建一个“优先考虑”列表

\

我建议,改进的第一步就是在“Backlog”左侧新建一个名为“优先考虑(To prioritise)”列表。我们(或其他人)可以在这里记录建议的功能增强。当我们有时间后,我们可以将这些内容放入优先的Backlog列表中正确的地方。\

(点击放大图像)

\

0473fb07f630a979696d66cad66f5f19.jpg

\\

稍微复杂一些——增加发布列表

\

在新产品的开发的前期,只有一种做法是明智的——一开始就用“版本2”来回应大量的功能增强的需求。当某个产品存活了下来,我们可能会有很多版本的发布计划,并且希望在Trello中进行策划。面对这种问题,最简单的方式是为每个计划发布工作建立一个列表,最遥远的发布放在左边,最近的发布放在右边。\

(点击放大图像)

\

595c125cd50a25dbaaf8ca911031a534.jpg

\\

如果只有少量的发布需要规划,这种方式会清晰地说明即将到来的工作。但如果有大量的发布计划,我们将会建立很多的“进行中”列表,看板自此将会变得十分忙碌。\

The Product Management board - multiple lists on their own board

\

产品管理看板——多个列表在自有的看板上

\

这种方式可以解决Backlog记录在主Scrum看板的列表旁边时所遇到的一系列问题,非常不错。可能我们的开发团队只是不想混淆计划和当前的工作,或者是我们希望用自己的看板来规划即将到来的发布。使用这种模式,我们可以创建产品管理看板来管理Backlog和发布规划,而团队的工作将会依照一个或多个独立的(Scrum看板)看板来进行工作。这种方式可以与前的方式相结合——Scrum看板上Backlog中整齐的卡片,就是为迎接即将到来的Sprint而准备的——这样大家可以看到将会到来的工作,并且产品管理看板会管理所有将来的发布。Scrum看板可以拥有自己的“优先考虑”列表,存放当前Srpint中所提出的问题,产品经理可以检查这些内容并调整优先级,合理选择立即修复或者放到下一次Sprint中。\

这种方式同样适用于建立多个Scrum看板(比如每个团队一个看板)的情况,Scrum看板中的数据来自于独立的产品管理看板。\

小提示:我们可以在看板间发送独立的卡片或整个列表,只需要在卡片或列表上选择动作菜单中的“移动”即可。通过这种方式,我们可以在一个看板上规划将来的工作,并在准备完成后将它发送至相关的Scrum看板。\

杂项补充

\

在看板中添加备注和资源

\

另一种常见的方式就是在每个看板的最左侧添加一个“Resources(资源)”列表。我们在列表中可以添加CI服务器或其他有用工具的链接,以及团队通常需要的其他角色和文件。当团队经常需要某些资源时,这就是一种很好的方式来确保资源随时可用。\

(点击放大图像)

\

31a634c635bcce101222eb952b831281.jpg

\\

模板代码回顾检查单

\

在备注/资源列表中的某张卡片上添加模板代码回顾检查单——这种明智的做法我已经见到一些团队在用了。当他们需要去对某张卡片进行代码回顾时,他们可以将模板卡片中的检查单附加到卡片上(在Trello中,为卡片添加检查单是一个可选项)并且能够获得最新的内容。这样,即使我们在回顾会议(Retrospective)中对检查单进行了修改,也能确保团队成员都能立即使用最新的检查单。\

(点击放大图像)

\

070d1c981dc38fd21092834b402598c2.jpg

\\

同时使用多个看板

\

下面为大家介绍一些Trello中的小技巧,如果大家经常使用一堆看板,那么这些技巧可以使我们过得更加轻松。\

首先,在Trello中使用“加星标的看板”功能,标记我们常用的看板。该功能会将看板置顶,以节省我们滚动页面寻找它们的时间。\

其次,为不同类型的看板设置不同的背景。比如,产品的Backlog看板设置为绿色、团队Sprint看板为蓝色,其他非活动看板为灰色。这使大家通过看板菜单寻找所需看板时更加容易。\

最后,如果大家已经拥有很多看板,可以考虑使用分组来进行组织。这种方式能在查看Trello看板的页面时,帮助大家将大量的看板和用户划分到一起。\

实用的插件

\

显然(我应该说虽然:)),如果各位在寻求燃尽图或者Scrum、Kanban团队所学要的其他报表功能,我建议尝试签出Corrello。Corrello还包括累积流图、周期时间统计以及预期下次发布完成的时间等诸多功能。\

(点击放大图像)

\

4319d426d87466a71e1f698ebfb90d7f.jpg

\\

另一个实用的插件就是Scrum for Trello。它是一个优秀、简洁的浏览器插件,适用于Chrome、FireFox以及Safari,通过它,我们可以为卡片添加预估故事点数。它将故事点数保存在卡片标题(Corrello同样兼容这种方式)。\

如果大家想要在列表中添加“处理中”卡片数量的限制,可以同时安装Chrome插件Kanban WIP plugin。当我们添加太多卡片到某个列表中的时候,该插件会将列表标红进行提醒。\

Trello business class也是值得一看的插件,和Slack、Github的集成可以对使用Trello的开发团队产生巨大的帮助,并且还可以使用全套强化套件。\

结论

\

这些就是我所见到、所有真正对使用Trello的敏捷团队有用的内容。Trello完美适用大家各自的Scrum流程,想想现在还有多少成功的团队依然在用将记录贴到墙上的方法。然而,提前进行一点儿规划能够将事情变得更简单,不仅对大家,还有所在的团队。\

[边注:我并非为了有趣才做这些,而是因为我已经构建的Corrello——一个用于帮助使用Trello的Scrum团队创建仪表盘的工具,也同样适用于使用Trello的Kanban团队,如果大家也是使用Trello的敏捷团队一员,建议签出Corrello试试。\

关于作者

\

Robin Warren是Corrello的创建者和创始人,Corrello是一款为使用Trello的敏捷团队所准备的仪表盘工具。在此之前,他是一家英国小型软件公司的CTO,管理一些Scrum团队。他长期专注于软件开发及相关流程,包括多年来的几种敏捷风格。\

查看英文原文:Scrum with Trello

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Trello中的Scrum 的相关文章

随机推荐

  • [从零开始学习FPGA编程-38]:进阶篇 -语法-函数与任务

    作者主页 文火冰糖的硅基工坊 文火冰糖 王文兵 的博客 文火冰糖的硅基工坊 CSDN博客 本文网址 目录 前言 第1章 什么是函数Function 1 1 什么是函数 1 2 函
  • 【JAVA】输入:Scaner

    一 语法 1 导入 import java util Scanner 2 创建对象 Scanner scanner new Scanner System in 3 创建变量 int x scanner nextInt next系列 next
  • 服务器运维基础指南

    服务器运维基础指南 作为一个开发人员 对于服务器的操作不可避免 最常用的操作就是部署应用到服务器 及在生产 测试环境通过查看日志排查问题 一般服务器都是linux操作系统并且是无图形界面的 所以进行任何操作都是通过命令行 由于从新一代程序员
  • Android 中的AIDL 和 binder机制

    一 Binder 1 线程间通信Handler Handler和Binder是Android通信的两大支柱 Handler是线程间通信的基础 一个App的运行一定是多个线程相互协作的过程 特别是Android子线程不能更新UI界面的限制使得
  • 微信使用精准位置 wx.getLocation步骤

    微信小程序 gt 开发设置 gt 接口设置 gt 开通 wx getLocation 申请理由 应当前业务涉及周边服务推荐需要 需获取用户地理位置信息 调试基础库 2 24 4 在app json中添加 requiredPrivateInf
  • VS2008编译的程序在某些机器上运行提示“由于应用程序配置不正确,应用程序未能启动”的问题...

    VC9编译的程序在没有装过VC9 确切的说是 Net Framework3 5 的机器上运行时 如果提示 由于应用程序配置不正确 应用程序未能启动 重新安装应用程序可能会纠正这个问题 这个错误 那么就说明该程序动态链接了VC9的运行时库 如
  • Java 实现 SCP 携带密码拷贝文件

    package com miracle luna scp import org apache sshd client SshClient import org apache sshd client session ClientSession
  • 线上阿里云短信盗刷问题实录

    背景 营销系统中有定时任务处理将待支付订单变更为已取消 执行时间五分钟一次 业务执行处理异常会发送短信给相关开发人员进行短信提醒 从下午一点二十五开始 开发人员间隔五分钟就会收到业务执行异常的短信提醒 最初因为测试或是正式环境中确实有异常的
  • 国产化系统下操作PDF

    本文围绕使用netcore 跨平台在国产系统 麒麟和统信 操作PDF 首先netcore 需要第三方dll 在Nuget里搜索itextsharp 选择图片中 安装即可 版本写了 itextsharp 是4 16 比较靠后 但是基本功能都有
  • Android反调试方法总结以及源码实现之检测篇(一)

    好久没有更新博客了 主要是忙项目的事 今日总结一下在Android中常遇到的反调试方法 一来帮助需要之人 二来加深自己的理解 反调试在代码保护中扮演着很重要的角色 虽然不能完全阻止攻击者 但是还是能加大攻击者的时间成本 一般与加壳结合使用
  • 手写SSH2服务器连接池

    初衷 在工作中遇到一个要与远程服务器建立连接并进行上传 下载的场景 所以在课余就试着写了一个ssh2服务器连接池的小demo 仅供参考 欢迎指正 目录概要 pom文件引入依赖
  • 内网信息收集(一)

    内网信息收集 收集本机信息 拿到一台服务器权限需要收集的信息 包括操作系统 IP 是否存在杀毒软件 打过的补丁等信息 查询网络配置信息 ipconfig all Linux下使用ifconfig 查询用户列表 net user 查看本机列表
  • 《重构的时机和方法》一本值得程序员都认真读的书

    写在前面 重构的时机和方法 是一本关于软件开发中重构技术的书籍 它以独特的风格和内容优势 为读者提供了全面而易于理解的指导 帮助他们在实际项目中应用重构技术 提高代码质量和开发效率 这本书由两个不同风格的部分组成 旨在满足不同读者群体的需求
  • 预训练模型与微调

    前言 预训练模型已经火了这么久了 但作为菜本菜的我却还在用lstm 在生成任务上与同门学长用的预训练模型相比 效果差的比较明显 所以 我决定走上预训练的不归路 以下分享我的学习过程 了解模型 小说故事生成模型 万事开头难 上视频 视频我喜欢
  • 汕头大学医学院物理与计算机教研室,药剂学教研室 - 汕头大学医学院 Shantou University Medical College...

    凌凯 男 中国医学科学院 北京协和医学院 清华大学医学部 生物医学工程 医学博士 副研究员 从事生物纳米检测新技术的研究与新型纳米肿瘤药物及疗法的研究 以第一作者和通讯作者发表SCI论文8篇 以项目负责人承担国家自然科学基金青年基金项目 广
  • spring过滤器、拦截器

    文章目录 一 二者对比 二 过滤器 过滤器的分类 过滤器的作用 过滤器的实现方式 三 拦截器 拦截器的实现方式 四 二者总结 一 二者对比 实现原理不同 过滤器是基于函数回调 拦截器是基于java的反射机制的 使用范围不同 过滤器依赖与se
  • 基于python图书馆管理系统和读者系统(附完整代码以及打包好的exe文件)

    摘要 本文基于python的图书馆管理系统和读者系统 实现了登录 注册 忘记密码 书籍查询 借阅 归还 修改等功能 通过csv文件将数据存储在本地 注册时采用了邮箱验证码 模拟了现实场景 全部源代码地址见文末 如果有其他奇思妙想或者bug欢
  • 【pytorch目标检测】创新之作:Fast R-CNN算法解读

    背景 2015年 提出了Fast RCNN算法 训练步骤实现端到端 CNN 基于VGG6 Fast R CNN是基于R CNN和SPPnets进行的改进 成果 训练速度比RCNN块9倍 测试速度快乐23倍 准确率68 4 SPPnets网络
  • Python实现PDF合并工具(含源码)

    在工作中 每个月都会要遇到报账的情况 在现如今很多都是使用电子发票 获得的电子发票很多都是PDF格式 偶尔也有图片格式的 而且还是一张发票一个pdf文档 在打印贴票时 就需要一个文档一个文档的打开打印 十分的不便捷 当然也可以使用某某PDF
  • Trello中的Scrum

    Trello的用户数量近期超越了1000万的大关 它正迅速成为各色敏捷团队中流行的工具 它的简洁及在Web 移动端优秀的体验 使它从众多更复杂的解决方案中脱颖而出 赢得了更多的团队 因为Trello完全不在意用户如何使用 所以导致用户在用它