1393809597

仅展示已完成功能?

几年前我和妻子,朋友及朋友的女友一起吃饭。正餐过后服务生端来了甜点托盘,他边介绍每个甜点,边用手指逐个拨弄它们。还好,这些甜点都是塑料制品,都是碰不坏的。
我要了个酸橙派,我太太点了焦糖布丁。而我那个朋友有些调皮,他没说要哪个,直接伸出手去戳了下托盘里的巧克力蛋糕。出人意料的是,这个巧克力蛋糕是真的,Allan的手指戳进了蛋糕里面。这个蛋糕是整个托盘里唯一一个真家伙。我们谁都没有注意到服务生在介绍甜点的时候唯一没有用手碰过的就是这个蛋糕。

如果服务生不把真蛋糕混进托盘里,是不会发生这么糗的事情的。
同样的事情也发生在评审会议上,scrum团队把那些已完成的工作和仅仅看似已完成的工作混在了一起。
Scrum的一个规则是:在评审会议上,团队只允许演示已真正完成的产品backlog条目。好比,他们不能演示一个还没写后台代码的页面。
通常,这个规则是很不错的。它阻止团队把一盘能吃的真正的甜点混进一堆假甜点中。
假如一个团队被允许演示那些几乎快要完成的功能,那么团队会越来越频繁地这样做,因为把做的所有东西都展示出来,这个感觉很不错。但是,可以推断在接下来的几个sprint中团队为了保持同一水平的速率,会演示越来越多的假的进度。事实上,谎言越来越大了。
还有一个更大的风险,利益干系人也被误导相信工作已经完成了。有时,这得怪团队,他们没有足够明确地说明哪些是未完成的;有些时候,团队已经说的很清楚了,但是利益干系人却没有听见。
但是,有没有什么情况,团队可以打破这一规则,来展示未完成工作呢?
是的,我认为有些情况下是可以的。
记住,评审会议的目的是为确认下一阶段的工作内容获取一些反馈。这样的话,演示还没百分百完成的工作有时会有用。因为听众们都在,评审会议就是获取反馈的一个大论坛。例如,你可以让他们来评论一下界面UI设计是否符合他们的要求。演示这些特性并获取反馈吧。
当然,我不主张完全抛弃scrum中仅演示已完成工作这一规则,它的存在自有它的道理:它能避免团队自欺欺人(以为完成的要比事实上要多);它也避免了团队(有意或无意地)欺骗利益干系人。
但是,假如反馈从其他渠道很难获取的话,不要让这个规则阻止团队演示这些未完成的工作以获取有用的反馈,。
几点指导原则能帮你确保团队仅仅在能获得好处时才打破这一规则。
下面几种情况我不建议打破规则:
- 团队刚开始实施scrum
- 这些未完成的工作很容易被误认为已经完成了
- 反馈很容易从其他渠道获得
如果你遵循了这些指导方针,能帮助理解这个规则的真正意图。你就不会像文章开头那个服务生,不会让顾客把手指插进真正的蛋糕里了。

本文由作者授权翻译,转发请注明出处。
原文链接:http://www.mountaingoatsoftware.com/blog/only-show-finished-work-during-a-sprint-review-maybe