Trello中的Scrum

标签: infoq | 发表时间:2016-10-08 08:00 | 作者:
出处:http://itindex.net/admin/pagedetail

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

让我们开始吧……

基础

配置我们的看板

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

(点击放大图像)

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

  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中的的任意文档。

(点击放大图像)

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

(点击放大图像)

进阶的内容

别抓狂了,快使用标签

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

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

(点击放大图像)

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

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

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

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

无需子任务的生活

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

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

(点击放大图像)

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

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

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

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

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

无需史诗的生活

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

(点击放大图像)

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

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

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

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

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

(点击放大图像)

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

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

(点击放大图像)

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

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

(点击放大图像)

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

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服务器或其他有用工具的链接,以及团队通常需要的其他角色和文件。当团队经常需要某些资源时,这就是一种很好的方式来确保资源随时可用。

(点击放大图像)

模板代码回顾检查单

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

(点击放大图像)

同时使用多个看板

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

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

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

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

实用的插件

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

(点击放大图像)

另一个实用的插件就是 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

评价本文

相关 [trello scrum] 推荐:

Trello中的Scrum

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

Scrum的故事

- Philip - 《程序员》杂志官网
2001年2月,17位敏捷先驱齐聚犹他雪鸟度假村,起草《敏捷宣言》的时候,Scrum只是众多方法中不太起眼的一个. 十年之后,Scrum却成为最流行的敏捷方法,几乎成为敏捷的代名词. 本文来介绍下Scrum的两位创始人——Jeff Sutherland与Ken Schwaber. 大家可能不会想到,Jeff Sutherland的第一份工作居然是美国空军战斗机飞行员,还曾于1967年获得了“壮志凌云”称号,完成过100次飞越北部越南的作战任务.

scrum经验

- - CSDN博客研发管理推荐文章
Scrum是基于过程控制理论的经验方法,倡导自组织团队;其运行框架核心是迭代增量型并行开发,也是“适应性”的软件开发方法. Scrum提供了高度可视化的用于管理软件开发复杂性管理的敏捷项目管理的实践框架或敏捷过程,可以用于对现存软件工程实践的包装,提高软件生产率,改善沟通和合作的方法,使人们协作并注重业务目标.

用Scrum的方式实施Scrum

- - CSDN博客研发管理推荐文章
       用Scrum的方式实施Scrum就是说组织利用Scrum的流程来实现组织的转型. 要成功实施Scrum,必须在组织内进行两项主要改变:首先,软件开发人员必须被派到小团队中,还需要教会他们如何使用Scrum进行软件开发;其次,移除所有有碍于优化创新和软件交付的障碍,这些障碍会随着Scrum的使用逐渐显现.

Scrum 实施经验

- bluesnail - 新浪UED
Scrum是一种迭代式增量软件开发过程,通常用于敏捷软件开发. Scrum在英语的意思是橄榄球里的争球. 虽然Scrum是为管理软件开发项目而开发的,它同样可以用于运行软件维护团队,或者作为计划管理方法:Scrum of Scrums. Scrum定义了许多角色,根据猪和鸡的笑话分为两组,猪和鸡:.

Scrum中的QA(一)

- - ITeye博客
来自“Priyanka Hasija”的经验,她认为QA在Scrum中要做到:. ① 不仅仅是完成test case,还可以作为Product Owner的代理,完成Acceptance test,在PO没有时间的时候代替PO和团队沟通,甚至通过质疑各种假设等方式帮助PO明确需求. QA在复杂的用户场景和异常流程方面更有感觉,这些可以帮助开发人员做估算时不仅仅考量“happy path”.

Scrum中管理bug

- - CSDN博客研发管理推荐文章
如果bug来自于正在开发的sprint. 会在task阶段就被QA/Scrum Master/Product Owner标记为有bug,并且Story不能被置为done状态,这个很容易解决. 如果bug来自于已经结束的sprint,那么怎么办呢. 理想状态下是将bug放到backlogs中,然后由product owner调整其优先级,并决定放在后面的哪一个sprint中修复.

使用Trello实现敏捷项目管理

- - InfoQ cn
Trello由Joel Spolsky创建的 Fog Creek公司开发,是一种在线的看板式管理应用程序,从创建以来一直不断改进,已经有多家公司开始使用它来管理敏捷项目. Uservoice是一家创建简单的在线反馈、技术支持和知识库软件的公司,最近也使用Trello作为工具改善了对项目的管理,并在博客上分享了使用的经验.