如果你曾经质疑过自己的决策过程,或许你可以看下 BIDS Trading Technologies Ltd. 公司 CTO Jim Bird 最近发表的一些观点。在其博文《构建真正的软件》(”Building Real Software“)中,Bird提到了所谓的敏捷决策与精益决策之间的矛盾。他指出两种方法之间的区别,并提及了社区中围绕该主题的一些争论。
Bird 引用了 Kelly Waters 列出的《精益软件开发七条原则》中的第4 条,并仔细分析了其中的观点以及即时主动决策的主要好处。他表示,将细节设计决策以及解决依赖问题推后可以让团队收集更多相关和最新的信息,并且最后“(…) 这意味着你应当能够作出更佳的优质决策”。Bird 找出了与推迟决策特别相关的两种情况:当团队对试图解决的问题了解不足时;当决策为系统的一部分,可以被包含和定义得足够好来让团队知道这项工作该做和可以做。在两种情况下专注其他问题将会防止浪费,从而减少开发人员的工作量。
在Bird 的文章中的第二部分,他解释说,“(…) 有些决策你需要尽早作出,同时你还有时间去学习,有时间改变主意并从头来过。“借用 Mike Cohn 《敏捷估算和计划》书中的例子,他将重点放在了横切关注点, 如国际化、数据处理及监控。按照Bird 的观点,在项目开始时搞错这些方面的风险足够允许早期决策过程带来的浪费。
评论