许多Scrum书籍和文章都说,失败的sprint(当团队无法完成Sprint Backlog的某些功能时)并不是一件坏事,它不时发生,并且如果团队从错误中吸取教训,这实际上很有用。并改善了以下冲刺中的一些功能。并且团队不应因未完成其承诺的工作而受到惩罚。
您“惩罚”这种行为的方式是限制未完成的任务可以完成下一个冲刺的工作量。从事凉爽产品的机会正在消失。做好工作的回报是更多的工作。
从开发人员的角度来看,这看起来不错,但是,我们有一家软件公司“ Scrum-Addicts LLC”为认真的客户开发一些产品(“ Money-Bags Corporation”):
Scrum-Addicts经理建议为Money-Bags开发一款软件,他们同意一系列功能,Money-Bags要求提供发货日期Scrum-Addicts经理咨询其Scrum团队,该团队表示这需要3周的时间长时间的冲刺以完成所有功能Scrum-Addicts经理增加了1周的安全性,承诺在1个月内发布该软件,并与Money-Bags签订了合同。经过4个冲刺(截止日期),Scrum团队只能交付80%功能(由于新系统缺乏经验,需要修复生产环境中以前功能中的关键错误等)。正如Scrum所建议的那样,该产品目前可以发货,但是Money-Bags需要100%合同中提到的功能。因此,他们违反了合同,却一无所获。
Scrum-Addicts濒临破产,因为他们没有从Money-Bags获得任何收益,并且投资者对结果感到失望,不愿再为公司提供帮助。
如果在星期一我打赌给您100美元,它将在星期四下雨,直到星期五才下雨,您才可以提取我的钱。如果您想要天气预报而不是赌博,那么我们需要一份合同,该合同让我在星期二为您提供更新的天气预报。
显然,没有哪个软件公司愿意加入Scrum-Addicts的行列。我对敏捷和Scrum的不了解是,他们建议团队如何应对计划和截止日期,以避免上述情况。
想想为什么MB想要带球回家。MB不需要一开始就在一个月内完成工作。SA承诺在一个月内100%地提供关键功能,但没有兑现。SA设置的最后期限不是MB。SA甚至将最后期限任意增加了一周。那为什么是最后期限呢?
有时,在竞争工作时,软件公司会屈服于炫耀和承诺登月的诱惑。专业人士会仔细确定是否甚至需要月亮。对MoneyBags来说,最关键的需求是什么?一个月内100%的功能或功能正常的产品?他们甚至不知道真正重要的是什么?是否有一些即将到来的活动设定了严格的期限?
如果我是Scrum-Addicts商定此合同的人,我想对Money-Bags的业务需求有更多了解,并设计该合同以赋予Money-Bags可以接受的最大灵活性。我会教给他们敏捷过程如何工作,以便他们知道可以期望我们做什么。
通过这种方式,他们期望在1-2周内评估第一个可交付成果,而不是期望一个月内一切都能突然正常运行。
因此,总而言之,我有两个问题:
谁是罪魁祸首?经理,因为做适当的计划是他们的工作
团队,因为他们致力于做比
别人 更多的工作
在我们走了一个月的路程之前,任何人都可以阻止这种烦恼。
我甚至可以指责Money-Bags Corp雇用了一个明显欺诈性地将瀑布过程表示为敏捷的团队。合同本身明确表明这不是敏捷的。计划在一个月内完成并不能使其变得敏捷。
如果您坚持认为它是敏捷的,那么它只有一个月的冲刺就是敏捷的。是的,我不建议这样做,因为那又和瀑布一样。
什么是要做?
敏捷怎么样?每次冲刺都交付东西吗?在截止日期之前获得反馈?一周的冲刺?在您怀疑最后期限有危险而不是躲藏和祈祷的那一刻,重新谈判严厉的合同又如何呢?至少您可以停止在一个注定的项目上浪费时间,并找到一个更合理的客户。
经理应将截止日期推迟到原团队的估计值的2倍(或3倍)。
截止时间乘数与将手表提前15分钟设置一样有用,因此您永远不会迟到。您只能愚弄自己很久,然后才意识到自己在做什么。
早期估计是错误的。尝试捕捉错误。5个星期或几个星期是一个简单的表达方式,可让您表达完成日期的确切不确定性。您无需猜测准确,而是可以猜测您的猜测有多疯狂。做一些实际的工作并获取一些真实的数据。然后,您可以开始在较窄的范围内进行估算。一到两周的时间是足够的。
无论如何,都应鼓励团队成员尽心尽力(通过对冲刺失败进行处罚)
应鼓励团队成员。失败,提交或其他方式。研究表明,从事创造力工作(例如编程)的人如果提供以下三项内容,则表现最佳:自治,精通和目标,而不是建立任何惩罚性的结果,例如惩罚甚至是奖金(胡萝卜和棍子)。
丹尼尔·平克(Daniel Pink)对此做了TED演讲。演讲是关于动机不是敏捷的,但是我很容易看到如何将这些点映射到敏捷:
自治-我想控制自己的生活-让我从积压的工作中挑选工作。
精通-我想在重要的事情上变得更好-客户反馈。
目的-我想成为比我自己更大的事情的一部分-一个协作团队。
团队应该放弃Scrum,因为它不符合公司的截止日期政策,Scrum可以比瀑布更准确地达到截止日期。只要有最后期限,scrum就可以满足要求。根据时间,功能和技能的不同,它可能仅满足47个功能中的1个,但可以满足。
敏捷项目的样式可以设计得非常出色,以至于团队每晚回家的每个晚上都准备好发货。除非您认为运输要求客户进行测试并提供反馈,否则这似乎很愚蠢。发生的越早,您就越可以进行调整。这是每个可能的截止日期。只是不是每个功能。但这会将您引向重要的功能。
我们都应该放弃软件开发并加入修道院
是的,就像将我锁在远离现实生活的房间中一样,这会让我写更少的代码。
我已将这个答案缩小到最小。如果您好奇,请阅读编辑历史记录。