原文中举了一个例子“来,让我们从旧金山出发,沿着西海岸徒步旅行,到洛杉矶的纽波特沙滩面基吧!”,一群大汉准备发出,计划10天到达目的地。开始规划之后,放大的地图出现了很多的曲折,好吧,改变计划,增加时间。
在路途中,各种天险,各种坎坷,迫于无奈计划的时间有不得不增加。计划的时间一天一天的增加,规定行走的路程确实在一天一天减少。换做是谁都会心态爆炸吧!
这个例子整非常形象地映射了软件的开发过程。原本计划好的多少天完成需求分析,从几号到几号要做完软件设计,规定多少天完成编码和软件测试。但是生活就是充满了惊喜,只是会不经意会变成了惊吓。人力资源的问题,一时间不能攻克的困难,客户需求的模糊的描述。这些都是软件开发过程的坎坷。圣人也有犯错的时候,一天的时间也不总都是24个小时整。所以没有人能够预测到前方出现的问题,更加不可能考虑到所有的因素,从而制定出完美的计划。
所以软件开发周期比预估时间要长的多,并不是偶然现象。
原文例子:https://www.sohu.com./a/132411358_355123