统软云揭开软件开发管理的10个真相。我们都错了
软件开发
浏览:659 次

软件开发过程管理被比作养猫。换言之,你无法真正做到,但你可以尽力做到。换句话说,软件项目就像试图在NBA中捍卫勒布朗·詹姆斯。你根本阻止不了他。充其量,你只能希望克制他。
软件项目开发管理是一门不精确的科学,这已经不是什么秘密了。以下是我多年来学到的11个真理。他们帮助我理解我们管理这个奇怪的软件开发项目世界的能力是多么有限。
1.估计总是错误的
无论你花一个小时还是一年的时间进行估算,估算都是错误的。事情就是这样。结果不一定有很大不同。他们可能有点错,但他们仍然错了。
如果您看到错误报告并认为“修复它需要一个小时”,那么几乎肯定不需要一小时。这可能需要45分钟或3小时,但不太可能只需要一个小时,甚至一两分钟。现在,你可能会说,“大约一小时”。这实际上是一个更好的估计,因为具体而准确的估计是错误的。
目前,对于一个可能只需要一个小时的短项目来说,这不是一个大问题。但是
2.项目越大,你的估计就越不准确
项目越大,估计就越不准确,尤其是项目开始时的估计。与上面示例中的一小时估算类似,如果您将项目估算为一年,则可能需要9个月或36个月。在某些情况下,甚至可能需要五年。无法知道项目何时开始。

项目越大,“未知的未知”就越多。通常,项目越大,参与的人就越多。也就是说,随着项目规模的增加,会有更多的变量和更多你无法预测的事情。所有这些都会增加项目的时间,而你一开始就无法达到计划的时间。原因很明显。你不知道他们会发生。
3.注意力和专注力是我们最宝贵和最稀缺的东西
在构建软件时,完成项目所需的最有价值的东西之一是团队中的开发人员能够以不受干扰的方式专注。
分心的事情越少,团队的效率就越高。就这么简单。软件开发经理的主要职责之一是减少团队分心的次数和持续时间。
当软件开发人员不受干扰时,他们的工作效率很高。当他们被打断时(无论是因为会议还是被问到问题或其他任何事情),他们很快就会失去工作效率。我们都知道“流动”,知道进入和保持“流动”状态是多么困难。流动的时间就像黄金一样珍贵,应该受到保护。
4.霍夫斯塔德定律是真理
霍夫施塔特定律说:
“即使考虑到霍夫施塔特定律,项目的实际完成时间也总是比预期的长。”这与估计有关,但值得注意的是这句格言的美丽之处。你可以歪曲你的估计,因为你认为这会为你赢得完成任务的时间。你可以添加额外的因素,在计划中加入“未知的未知因素”,并添加你的估计,从而考虑到实际时间将比你想象的更长,但最终,一个项目的实际完成仍将比你想的更长。

5.你不能加快软件开发,你只能限制软件开发的速度
对于一些管理者来说,这个事实真的很难理解。软件需要多长时间就需要多长时间。没有办法让它更快。你可以要求团队投入更多时间。你可以挥舞鞭子,拿起一根大棒。你可以乞求、哄骗和恳求开发者。你可以说:“但这只需要三个月!”但从长远来看,您无法提高软件开发团队的速度。
如果你开始意识到霍夫斯塔德定律的正确性,并认为“我可以让这些人更快地工作”,那么你就错了。你所能做的就是减少他们的干扰,让他们独立工作,防止他们放慢速度。这种区别很微妙,但很重要。
6.你只能在很短的时间内出现赤字
同样,你可以要求团队投入更多的时间,熬夜,周末加班,使用各种“鞭笞”方法,这样你可能会获得一些(非常)短期的好处。
但如果你试图使其正常,如果你试图保持团队引擎在RPM红线上运行,它将被烧毁。很快,你会看到回报递减。人,就像赛车的引擎一样,不能长时间承受太大的压力,否则就会崩溃。
7.大脑时间比屁股时间更重要
没有什么比要求工作时间更有效的了(例如