在软件开发过程中,估算是一个非常重要的环节,对于项目计划、进度控制等都具有重要的意义。但是估算也是一个比较难的“技术活”,因为是“估”,所以往往会存在一些偏差,而这些偏差对于一个项目来说,有时可能会导致多花费一些不必要的金钱,还有可能影响公司的声誉和员工的积极性。
而哪些因素会导致估算偏差呢?开发者Alex E. Fish给出了以下提示。
没有充分考虑需求
如果你没有充分考虑到所有的需求,那么估算一个任务将花费多长时间是毫无意义的。更多的需求意味着更复杂的实现,这当然也需要更多的时间来完成。
估算了测试时间,但没有估算修复时间
估算应该考虑到所有的测试时间以及修复bug的时间。单元测试、BDD(Behavior Driven Development,行为驱动开发)测试、测试人员进行手工测试,这都是需要花费时间的。并且,开发人员查找和修复bug同样也需要时间。更复杂的任务有可能会包含更多的bug,这意味着需要花费更多的时间来跟踪和修复它们。
假定开发者每天8小时都在编码
就算开发者每天上班8个小时(不加班情况下),但是这不代表8个小时都在编码,其他一些琐事往往会令生产率大大降低,比如会议、电子邮件、同事之间的IM消息、询问问题等。开发者从工作中断恢复到工作状态,往往也需要15分钟时间。有些时候,开发者一天只有2个小时的时间用于编码。
按天估算,没有按小时估算
所有的任务都应该被分解成2~16小时的块任务。这是一个很好的规则,可以让你独立地看待每个任务,并能够把所有因素都考虑在内,减少估算偏差的机会。
让非项目人员来估算
应该由参与编写软件的开发者们来进行估算。他们可以根据自身经验、开发速度对项目有一个更准确的把握。这也避免了由于A设置的进度过快,而导致B被追究责任。
忘记过去
George Santayana曾说:“忘记过去的人注定要重蹈覆辙。”如果这不是你的第一个项目,那么最好回头看看过去的项目。查找你以前曾参与过的同一领域中的类似规模/要求的项目,并将它作为一个参考点。
责编:Rosaww
微信扫一扫实时了解行业动态 微信扫一扫分享本文给好友