软件熵解析:起因、影响与补救措施

原文请访问Software Entropy Explained: Causes, Effects, and Remedies

这篇文章主要针对的读者是对什么是软件熵、对他们工作会产生哪些实际影响、以及哪些潜在的因素促进熵的增长感兴趣的软件开发人员和项目经理。

主要目的是构成对软件熵的意识,因为它是所有形式的软件开发的一个要素。因此,我们将会探索一种能够把软件熵赋予某个具体值的方法。唯有通过量化软件熵,并且通过连续的发布观察它的增长 ,我们才能真正明白它对我们当前目标和未来计划所带来的风险。

何为软件熵?

软件熵起名于现实世界中熵的主要特点:即对混沌的度量,要么保持不变,要么随时间增长。换种方式来说,软件熵是对关于修改软件系统而产生的内在不稳定性的度量。

不幸的是,软件熵未能得到它应有的重视。

毫无疑问,从开发团队中随便拉个人过来,贸然地进行开发迭代,或者进行“快速修复” —— 这时,实际上,极可能助长了软件熵的增长。

软件开发是一门艺术,也是一种交易,因为它的核心构建块往往是欠缺考虑的。建筑工人工作用的是水泥和钉子,然而软件开发人员要面对是逻辑断言和


继续阅读»»»

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

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

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

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

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

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

然而,分解征服


继续阅读»»»