多年来,我们一直使用PivotalTracker作为我们的敏捷软件开发流程管理工具。一直以来我们都对PivotalTracker非常满意。无论什么时候,只有我们有新的想法,无论想法有多抽象多模糊,我们都把它写成Epic记录在系统的Tracker里面。当我们准备开始要实现这个想法的时候,我们通常会把它分解成更加详细的用户故事。一旦我们的用户故事足够涵盖到这个想法的所有内容的时候,我们就把这个Epic删除。然后,我们会把这些用户故事打上这个Epic的标签,这样我们就知道它们是从哪里来的了。
丧失全局观之痛
但是,我们并不使用PivotalTracker来追踪非编码类的任务。像图形界面设计、文档、客户建议或者诸如此类的通通都没有记录。这样就在项目中产生了盲点,我们没有办法就项目整体的进展如何进行交流。实际上,PivotalTracker是一盏探照灯,使得编码的工作都暴露在光线之下,然而其它的东西却仍然在黑暗之中。随着时间的推移,由于我们一直都没有想要知道别人在干什么的想法,这个问题开始变得严重。
这种方法的另外一个问题就是,我们没有办法知道当前正在做的整个Epic的进展状况,以及我们距离完成到底还有多远。当然,我们可以到待办列表里面看看相关的用户故事的状态,但是这样太麻烦了,也太不够直观了。
使用Kanban板和PivotalTracker结合
为了能解决透明度和总体进度的可见度问题,我们引入了实物的Kanban板。我们把所有的Epic和非编码类的工作都写在卡片上然后贴在我们的Kanban墙上。Kanban墙上画有六列:代表列表、计划中、进行中、测试中、就绪、已完成。每天开站会的时候,我们就根据任务当前的状态放到对应的列中,每项任务都要经过这六列。假设一个Epic有很多的用户故事,当我们开始做第一个用户故事的时候,我们就把这个Epic的卡片放到“进行中”那一列,一旦对应的所有用户故事都完成了,我们就把卡片放到“测试中”。当所有用户故事都通过测试了,但是如果还没有发布,我们就把卡片放到“就绪”中。只有当这个Epic顺利发布了,我们才会把它放入“完成”。非编码的工作每项任务都有一张对应的卡片,这样所有人都可以对整个团队的工作情况一目了然。
将实物的Kanban板和我们的在线工具结合,真的能够为我们提高项目的进度的概况和透明度。这种方法帮助我们集中在一个Epic对应的用户故事上,也能够让我们了解团队成员中每个人当前的任务。这样,我们就能够确保团队中的每个人在任何时候都工作在最重要的任务上。
作者:Matthias Marschall