说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

为什么项目估算偏差如此之大?

HTML文档下载 WORD文档下载 PDF文档下载
在软件开发中,估算对于项目计划、进度控制等都具有重要的意义。但是估算往往会存在偏差,进而导致额外的成本,甚至影响公司声誉和员工积极性。哪些因素会导致估算偏差呢?开发者Alex E. Fish给出了本文的这些提示。

在软件开发过程中,估算是一个非常重要的环节,对于项目计划、进度控制等都具有重要的意义。但是估算也是一个比较难的“技术活”,因为是“估”,所以往往会存在一些偏差,而这些偏差对于一个项目来说,有时可能会导致多花费一些不必要的金钱,还有可能影响公司的声誉和员工的积极性。

而哪些因素会导致估算偏差呢?开发者Alex E. Fish给出了以下提示。


没有充分考虑需求

如果你没有充分考虑到所有的需求,那么估算一个任务将花费多长时间是毫无意义的。更多的需求意味着更复杂的实现,这当然也需要更多的时间来完成。

估算了测试时间,但没有估算修复时间

估算应该考虑到所有的测试时间以及修复bug的时间。单元测试、BDD(BehaviorDriven Development,行为驱动开发)测试、测试人员进行手工测试,这都是需要花费时间的。并且,开发人员查找和修复bug同样也需要时间。更复杂的任务有可能会包含更多的bug,这意味着需要花费更多的时间来跟踪和修复它们。

假定开发者每天8小时都在编码

就算开发者每天上班8个小时(不加班情况下),但是这不代表8个小时都在编码,其他一些琐事往往会令生产率大大降低,比如会议、电子邮件、同事之间的IM消息、询问问题等。开发者从工作中断恢复到工作状态,往往也需要15分钟时间。有些时候,开发者一天只有2个小时的时间用于编码。

按天估算,没有按小时估算

所有的任务都应该被分解成2~16小时的块任务。这是一个很好的规则,可以让你独立地看待每个任务,并能够把所有因素都考虑在内,减少估算偏差的机会。

让非项目人员来估算

应该由参与编写软件的开发者们来进行估算。他们可以根据自身经验、开发速度对项目有一个更准确的把握。这也避免了由于A设置的进度过快,而导致B被追究责任。

忘记过去

George Santayana曾说:“忘记过去的人注定要重蹈覆辙。”如果这不是你的第一个项目,那么最好回头看看过去的项目。查找你以前曾参与过的同一领域中的类似规模/要求的项目,并将它作为一个参考点。

忽略停工期

如果项目是一个长期项目,或者开发者在夏季需要有一个假期,那么在估算时也应该考虑在内。必要时,考虑设置一个适当的缓冲期。

过于确切

将项目估算在一个确切的期限内或小时数内是不现实的,这也是无法实现的,最好的办法是估算一个范围,包括最好的情况下、最有可能的情况下、最坏的情况下的范围。

总结:尽管你不喜欢估算,但也要认真对待

估算是一个应该认真对待的工作,也是每一个开发者必备的技能。你和你的同事都应该掌握并进行实践。一个好的估算的做法是人人参与。

估计没有人喜欢估算,我个人认为这是软件开发工作中最糟糕的部分。而估算也从来都不会真正可靠或者完全准确,但还是希望上文这些内容可以为你带来一些帮助。

英文原文:Poor developer estimations AKA Guesstimation

如何把文件删除到回收站中-Delphi资料 如何从任务栏上隐藏应用程序的按纽?-Delphi资料 如何得到Windows 的temp路径-Delphi资料 如何得到WINDOWS的SYSTEM路径-Delphi资料 如何得到上一个激活的组件-Delphi资料 如何得到系统目录-Delphi资料 如何得到执行程序的当前路径-Delphi资料 如何访问一个进程的内存空间-Delphi资料 如何关CD机的门?-Delphi资料 如何关闭外部开启的应用程序-Delphi资料 如何获得系统内存的有关信息?-Delphi资料 如何获取硬盘的ID-Delphi资料 如何检查软驱中的软盘和光驱的光盘是否发生变化。-Delphi资料 如何检查一个驱动器是否就绪?并且不出现错误信息-Delphi资料 如何将Wav文件做到EXE文件里-Delphi资料 如何将你的程序放在Windows启动中-Delphi资料 如何控制Ctrl+Alt+Del键-Delphi资料 如何控制壁纸-Delphi资料 如何控制关闭Windows-Delphi资料 如何屏蔽系统功能键-Delphi资料 如何取得Windows的临时文件目录?-Delphi资料 如何确保你的.exe文件仅运行一次!-Delphi资料 如何让 Windows 模拟按键-Delphi资料 如何让程式只执行一份?-Delphi资料 如何让程序只执行一次?-Delphi资料 如何删除一个控件的子控件-Delphi资料 如何识别显示器当前的分辨率-Delphi资料 如何为Delphi程序添加事件和事件处理器 如何写小执行程序-Delphi资料 如何隐藏桌面上的图标-Delphi资料 如何用API更改改计算机名字-Delphi资料 帮忙,各位兄弟姐妹 ()()()()()()()()上海佬进来!!!受过上海佬骗的进来!!()()()()()()()() 人无远虑,必有近忧。想找块风水宝地百年之后藏身。荐者有分。 可以在 NT 登录以前在客户端创建 DCOM 实例吗? 被背叛的遗嘱 能提供C++制表的源程序吗?THANK YOU!!!!!!!! 还有6天 关于Socket编程的几个问题 哪里有莫文蔚的《the way you make me feel》国语版的? 切~~~~~~~~菜~~~~~~~~~ 斑竹,我觉得这几天CSDN上很无聊,怎么老有人弱智地问重复的或者以前已有答案的问题?他们不知道可以search先? 谁知道哪里有bmp图片可以下载,给个详细网址,多谢 VC 兼职? 荷兰国旗问题 ASP刚学,用什么方式好吗 斑竹!!!!!!!!!!!!!!!! 关于IE浏览 请问vb如何访问foxpro 6.0的数据库,最好有源程序,谢谢. he_cti@163.net 算了,散分 我散,我散,我散散散 散3 发分!!!! 发分!!!!! 发分!!!!!!!! 发分!!!!!!!!!!!! 发分!!!!!!!!!!!!!!!!!!! 请问如何去掉测试版软件的“购买”提示框???急急急急!!! 有关获取HTML中Frames的问题? 给分!!!!!啊 给分!!!!!啊!! 给分!!!!!啊!!!!!! 给分!!!!!啊!!!!!!!!!!!!! 给啊!!!!!!!!!!!!! 不是俺蓄意谋两位帮主的反,实在是 ... APPLET连接数据库。。。(我已经每粉了) 千分散尽不复来!!! 千分散尽不复来!!!! 千分散尽不复来!!!!! 千分散尽不复来!! 千分散尽不复来!!!!!!!! 千分散尽不复来!!!!!!!!! 千分散尽不复来!!!!!!!!!!!!! 用分把灌水乐园咽死!!!!! 千分散尽不复来!!!!!!!!!!!!!!!!! 千分散尽不复来!!!!!!!!!!!!!!!!!! 千分散尽不复来!!!!!!!!!!!!!!!!!!! 千分散尽不复来!!!!!!!!!!!!!!!!!!!!! 千分散尽不复来~ 千分散尽不复来~! 请教数据窗口的问题 千分散尽不复来? 甲数的5分之3等于乙数的75%,已知乙数是80,求甲数的算式是( ) 甲数的60%相当于乙数的45%,已知乙数是30,甲数是多少? 甲数的五分之三等于乙数的三分之二 甲数是60乙数是多少 甲数的5分之3等于乙数的4分之3,已知乙数是80,甲数是( ) 急,要明白的甲的45%等于乙的60%,乙是甲的( )%? 甲数的五分之一等于乙数的三分之一,甲数是60.乙数是多少 甲数比乙数多20%,乙数比丙数少20%,甲数相当于丙数的百分之几? 甲的5分之3等于乙的百分之75,乙是80,甲几? 甲数的45%等于乙数的105%,甲数( )乙数填大于小于或等于 甲数比乙数多25%,乙数比丙数少20%甲数是丙数的()% 甲数是乙数的百分之80,甲数比乙数少百分之20.这对么?为什么 (选择题)如果甲数的60%等于乙数的2/3,那么( ) 甲数比乙数多20%,乙数比丙数少20%,甲数相当于丙数的百分之几? 甲数是80比乙数少百分之20,乙数是 如果甲数的3/4等于乙数的2/3,那么甲数与乙数的比是多少? 甲数比乙数多20%,乙数比丙数少30%,甲数相当于丙数的百分之几? 甲数是60,比乙数少20,甲数比乙数少百分之几? 如果甲数的3倍等于乙数的2分之一,那么甲数与乙数的比是几比几. 甲数是乙数的35%,乙数是甲数的( )%,甲数比乙数少( )%,乙数比甲数多( )% 观察下列一组数据,想一想它们的算术平方根和立方根有什么规律?10,20,30,40,50,60,70,80,90,100 .换成下换成下列数字又有什么规律?/10,1/20,1/30,1/40,1/50,1/60,1/70,1/80,1/90,1/100 甲数的2/3等于乙数,那么甲数比乙数=( ) 甲数是乙数的4倍,甲数比乙数多()%,乙数比甲数少()% 观察下列一组数据,想一想他们的算术平方根和立方根有什么规律?10,20,30,40,50,60,70,80,90,100这些数据换成10分之1,20分之1,30分之1,40分之1,50分之1,60分之1,70分之1,80分之1,90分之1,100分之1,又有什么规 甲数是乙数的80%,乙数比甲数多百分之几? 甲数比乙数多25%,乙数比甲数少( )% 急 1到9的数字,十字形9个格子,如何让横竖都等于24 甲数是乙数的百分之八十,乙数比甲数多百分之几? 甲数比乙数多5分之1,所以乙数比甲数少( ). 数学10+20+30+50+80+70+60+40+90 甲数比乙数多百分之60,乙数比甲数少百分之几急用 甲数比乙数多60%乙数就比甲数少( )% 数字1~9,放到三行三列的九个空格里,横相加、竖相加、斜相加都等于10. 若甲数比乙数多百分之六十,则乙数比甲数少百分之几 为什么 甲数是25,乙数是20.甲数比乙数多百分之几?乙数比甲数少百分之几 把10 、20、 30、 40、 50五个数填在空格(3*3),横竖相加都相等,如何填?把10 、20、 30、 40、 50五个数填在空格(3*3),使每一横行、竖列三个数相加的和相等,如何填?这些数可以重复使用 甲数比乙数多百分之60,乙数比甲数少多少 甲数是35,乙数是甲数的20%,乙数是多少? 那两个数相乘等于750 ,相加等于-40? 甲数比乙数多百分之六十,乙数比甲数少多少怎么列式最好? 甲数的百分之20等于乙数的百分之35,问谁大?再给我出几个类似的题更好, 正负数如何相加?这几个数字相加等于多少?+5 -4.3 +8 -2.8请列出算式 甲数是20,乙数比甲数多百分之60,甲数比乙数少百分之几 甲数的百分之62.5等于乙数的百分之75,乙是甲的几分之几 三个数相加等于14 三个数相乘等于40 求这三个数分别是多少 求详细步骤 甲数的3/8是乙数的80%,乙数是60,乙数比甲数少百分之几 甲数的75%等于乙数的50%,甲数是乙数的()% 三个数相乘是40,三个数相加等于14,并没有两个数相等.求这三个数分别是多少 60比20多百分之几?,32千米比80千米少百分之几?,甲数是28,是乙数的80%,乙数是多少?. 甲数的75%正好等于乙数的80%,甲数一定大于乙数. 多少相乘等于16相加等于14! 甲数是60,比乙数多百分之50,乙数是多少? 甲数的75/100正好等于乙数的80/100,甲数一定大于乙数. 2+6+10+14+...+210+214等于几? 甲数是乙数的60%乙数比甲数多百分之几 甲数的3分之2等于乙数的2分之1,甲数一定比乙数小,为什么? 甲数的45%等于乙数的60%,乙数是甲数的( )%快快快!回答后加悬赏 已知甲数的4分之1等于乙数的3分之2,如果乙数是60,那么甲数是几 因为甲数的80%等于乙数的75%,所以甲数大于乙数,这句话正确吗? 甲数的45%等于乙数的60%,乙数是甲数的百分之几? 甲数的三分之二等于乙数的60%,那么甲数与乙数的比是( ):( )
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn