产品负责人一般会喜欢短一点的sprint,而开发人员喜欢时间长的sprint。所以sprint的长度是妥协后的产物。做过多次实验后,我们最终总结出了最喜欢的长度:三个星期。绝大部分团队的sprint长度都是三周
ScrumMaster:“伙计们,我们在这个sprint里面能完成故事A吗?” Lisa:“呃。当然可以。我们有三个星期,这只是个微不足道的特性” ScrumMaster:“OK,那加上B怎么样?” Tom和Lisa一起回答:“自然没问题” ScrumMaster:“OK,那ABC一起呢?” Sam:“故事C要包括高级错误处理么?” 产品负责人:“不,你现在可以跳过它,只需要完成基本的错误处理” Sam:“那C应该没问题” ScrumMaster:“OK,那再加上D呢?” Lisa:“嗯……” Tom:“我觉得能完成” ScrumMaster:“有多少把握?90%还是50%” Lisa和Tom:“差不多90%” ScrumMaster:“OK,D也加进来。那再加上E呢?” Sam:“也许吧” ScrumMaster:“90%?50%?” Sam:“差不多50%” Lisa:“我没把握” ScrumMaster:“OK,那先把它放一边去。我们要做完ABCD。如果有时间的话,当然还可以做完E,不过既然没人指望它能完成,所以我们也不会把它算到计划里面来。现在怎么样?” 所有人:“OK”
例1 团队和产品负责人都对sprint计划很满意,打算结束会议。这时ScrumMaster问了一个问题,“等一下,还有个“添加用户””的故事没有估算时间呢,把它解决了吧!“几轮计划扑克以后,团队意见达成一致,认为这个故事需要20个故事点;产品负责人却站了起来,说话因为生气也走了调:”什、什、什么?!“经过几分钟的激烈争吵,最后发现是团队错误理解了”增加用户“这个故事的范围,他们以为这表示”要有个漂亮的Web界面来添加、删除、移除和查询用户“,但是产品负责人只是想”通过手写SQL操作数据库来添加用户“。他们重新进行评估,给它5个故事点,达成共识 例2 团队和产品负责人都对sprint计划很满意,打算结束会议。这时ScrumMaster问了一个问题,”等一下,还有一个'添加用户'的故事,它怎么演示呢?“一阵窃窃私语之后,某人站起来说,”呃,首先我们登录Web站点,然后……“产品负责人打断了他的话,”登录Web站点?!不不不,这个功能跟Web站点一点关系都没有,你给技术管理员提供个傻瓜都能用的SQL脚本就行“
示例
团队:”我们要完成一些内部的技术工作,也许要从我们的时间里抽出来10%,也就是把投入程度从75%降低到65%,你看行吗?“ 产品负责人:”不行!我们没那个时间了!“ 团队:”嘿……那看看上一个sprint吧。(大家的头全转向了白板上的生产率草图。)我们估算的生产率是80,但实际才有40,没错吧?“ 产品负责人:”没错!所以我们没时间干那些内部的技术活了!我们需要新功能 !“ 团队:”呃,我们的生产率变得这么糟糕的原因就是,构造可以测试的稳定版本占用了太多时间“ 产品负责人:”嗯,那然后呢?“ 团队:”唔,如果我们不做点什么的话,生产率还会继续这么烂下去“ 产品负责人:”嗯,接着说?“ 团队:”所以我们建议在这个sprinnt里抽出大概10%的时间来搭一个持续构建服务器,完成相关的一些事情,这样就 不会再受集成的折磨,接下来,每个sprint里面,我们的生产率都会提高至少20%!“ 产品负责人:”啊?真的吗?那为什么上个sprint我们没这么干?!“ 团队:”嗯……因为你不同意……“ 产品负责人:”哦,嗯……那好吧,这主意听上去不错,开始干吧!“