一、哪些因素会导致估算偏差呢?
1、客户开始也不知道自己要什么
2、客户知道自己要什么,但做着做着想法就变了
3、开发组织自身的情况制约(人力资源,硬件资源,内部支持)
4、开发人员水平参差不齐(多出现于临时拼凑的团队)
5、组织对于质量的看重程度,越重视则流程越重,速度越慢
6、双方企业文化的契合度(直接影响合作)
7、不熟悉的项目领域
8、不熟悉的技术领域
9、新的编程工具
10、团队成员能否不受打扰全神贯注
二、估算软件开发时间没有考虑到的因素
1、没有充分考虑需求
如果你没有充分考虑到所有的需求,那么估算一个任务将花费多长时间是毫无意义的。更多的需求意味着更复杂的实现,这当然也需要更多的时间来完成。
2、估算了测试时间,但没有估算修复时间
估算应该考虑到所有的测试时间以及修复bug的时间。单元测试、BDD(Behavior Driven Development,行为驱动开发)测试、测试人员进行手工测试,这都是需要花费时间的。并且,开发人员查找和修复bug同样也需要时间。更复杂的任务有可能会包含更多的bug,这意味着需要花费更多的时间来跟踪和修复它们。
3、假定开发者每天8小时都在编码
就算开发者每天上班8个小时(不加班情况下),但是这不代表8个小时都在编码,其他一些琐事往往会令生产率大大降低,比如会议、电子邮件、同事之间的IM消息、询问问题等。开发者从工作中断恢复到工作状态,往往也需要15分钟时间。有些时候,开发者一天只有2个小时的时间用于编码。
4、让非项目人员来估算
应该由参与编写软件的开发者们来进行估算。他们可以根据自身经验、开发速度对项目有一个更准确的把握。这也避免了由于A设置的进度过快,而导致B被追究责任。
5、忽略停工期
如果项目是一个长期项目,或者开发者在夏季需要有一个假期,那么在估算时也应该考虑在内。必要时,考虑设置一个适当的缓冲期。
文章转载自: 哪些因素影响软件开发时间的估算 http://www.studyofnet.com/news/953.html