在工作中,我基本上是一名独立顾问。对于管理人员和客户,我需要估计开发软件所需的时间,这是我的计算科学研究的一部分。但是,我的时间估计通常不正确。我知道有一些方法可以估算开发软件所需的时间。这些方法会为我提供有关研究任务的准确估计吗?它们甚至在研究环境中有用吗?如果不是,是否有比“保留记录并相应地修改估算值”更好的方法?
1
鉴于最聪明的程序员和不太聪明的程序员之间存在一个数量级的差异,因此重新使用现有数据集将无法使您的估算神奇地符合现实。但是,您可以做的是遍历先前的项目并收集复杂性数据,并拟合几个简单的回归。研究与其他类型的活动的不同之处在于,存在几次撞墙的巨大风险……建立与您的项目的相对新颖性有关的边际,并使用墨菲定律来纠正自己的乐观情绪。
—
鹿猎人(
在以前的软件开发人员职业中,我经常为明确指定的项目进行此类估算。如果设计足够完整,并且没有重大技术风险,则说明设计合理。但是,我现在从事的软件开发实际上是比软件开发更多的研究,这是一个重大问题,即该想法是否行得通,并且始终出现意外问题。
—
Brian Borchers