事实上,在软件开发的过程中,从需求描述到最终编码实现,信息传递和理解的损失早已是业内公认的问题。软件需求说明书往往存在歧义,开发人员根据自身理解对需求进行解释,这在信息传递过程中增大了偏差。根据估计,从原始需求到软件交付,每传递一次可能就损失至少15%左右的信息量。代码复审过程中也存在类似问题。软件开发是一个高度逻辑化的过程,开发人员需要处理大量复杂的业务逻辑。而人脑处理逻辑的局限性,导致软件开发各阶段存在严重的信息缺失、误解和逻辑错误。这也是软件开发成本和开发效率无法进一步优化的首要原因之一。