从《孙子兵法》到软件开发

/**
 * 谨献给可爱的小黑
 *
 * 原文出处:https://www.toptal.com/agile/art-of-war-software-development
 * @author dogstar.huang <chanzonghuang@gmail.com> 2016-04-02
 */

如果你工作在软件行业里,很可能你已经听说了 分解征服 设计范例,基本上包含了递归地把一个问题 划分成两个或者多个子问题(分解 ),直到这些问题变得足够小可以直接解决为止(征服 )。

你可能不知道的是这个范例来源于一个古老的政治策略(名字来自拉丁语分而治之 ),此策略提议有可能通过 鼓励异议来维持对一个人的下属或者受控者的控制。

在历史的长河上,无数的政治家和军事领导人都使用此策略,诸如凯撒大帝(在高卢战记中使用此策略击败了强 壮的高卢)和拿破仑(这位法国炮兵专家把敌军进行了分解从而没有任何一部分能比他自己的军队更强壮,然后 扰乱他们的通信,以阻止敌人进行协调和执行攻击的努力)。

《孙子兵法》:把远古的原则应用到软件开发

然而,分解征服


继续阅读»»»