继续我关于 精益软件开发的7个关键原则,这是我对精益原则4的评论– 推迟承诺.
I’我不确定我是否真的喜欢这个名字。它很容易被误解。它没有’并不意味着您应该无限期地推迟承诺或推迟所有决定–那显然是一个非常糟糕的主意。
它的意思是尽早做出决定,特别是对于不可逆转的决定,或者至少是不切实际的逆转决定。可以在不造成问题的情况下针对最重要的时间点做出重要的决策。
显然,不要太晚离开决策也很重要。这会延迟团队,使项目变得困难。但是,您可以放心地做出重要决定的时间越晚,您将有更多信息可以用来在正确的时候做出正确的决定。
推迟不可逆转的决定意味着您要尽可能长时间保持选择权。在需要做出决定时,您很有可能会更多地了解哪种选择是最佳选择。它还使您有时间有可能更深入地探索各种选项并进行实验,以帮助得出正确的结论。
在事情很可能发生变化的复杂性或不确定性区域中,这一点尤其重要。
在这样的领域中,以及尽可能早地做出决定,您还应该尝试构建灵活的解决方案,以减少做出不可行的决策。
决定尽快开发敏捷开发方法的另一个示例是Sprint计划或迭代计划。在敏捷中,您可以决定要在每次迭代中包括哪些功能,并及时分析它们以进行开发。
将有关功能的决策与这些功能的开发紧密结合在一起,有助于确保交付正确的产品,因为它留给变更的空间较小。
在更传统的项目管理方法中,在规范和正在开发的任何特定功能之间,发生更改的时间要长得多。需求变化,基础系统变化,技术变化,人员变化(产品所有者或开发团队),方向变化或市场变化。
太早决定,您很有可能会发生重大变化的风险,这意味着您的最终产品可能符合规格,但仍然可能是错误的产品!这就是为什么许多项目失败的原因之一。
因此,请尝试(在合理的范围内)构建您的解决方案,以减少不可逆转的承诺。并将对不可逆决策的承诺推迟到最新的可能。
凯莉
精益软件开发的7个关键原则:
1. 消除浪费
2. 建立质量
3. 创造知识
4. 推迟承诺
5. 快速交付
6. 尊重人
7. 优化整体
摄影者 空运