`

【转载】为什么程序员预估的时间都不靠谱

阅读更多
一个我曾经共事过的很有经验的项目经理曾宣称说,他会拿程序员估计出的时间乘以π值,然后再提高一个数量级,这样得出的才是正确的开发所需要的时间。1天时间经过变换后是3.14周。他经过惨痛的教训才认识到程序员预估的时间都是不靠谱的。为了能更精确的对程序员估计的时间进行换算,我创建了一个时间换算表,重点说明究竟是什么地方出了问题。



预估时间本身就很难。每个程序员的估计都会跟真正需要的时间有些差距。估计时间短了说明有些事情被忽略了(编译,测试,提交代码)。估计时间超了说明任务太大,难以理解。
对于资历较浅的程序员,这种估计误差是混乱的,他们经常会轻视一些任务,同时又对一些稍微有难度的任务过分高估。我认为,对一个有经验的程序员,一个任务的时间应该在半小时到24小时之间,超出24小时的任务都需要拆分。程序员在脑中想一想可能会认为要60小时,但实际上即使是很有经验的程序员也需要将任务分成可控的模块再来分析做决定。
还有一个很重要的需要认识到的一点是,编程上的经验并不等同于时间估计上的经验。一个从没有做过工期估计的程序员不会擅长估计时间。如果不去拿真正需要的时间和估计出的时间进行比较,你不可能从其它反馈信息之得到正确估计时间的经验。
每个程序员都会用到评估技巧。为了提高你的这项技能,你可以在你从事的每个任务上进行锻炼。在任务开始时先预估开发所需时间,拿它跟你最终真正用掉的时间进行对比。这样,你不仅在对任务细节的理解上有提高,同时也提高了你对时间预估的技能。


原文:http://www.aqee.net/why-programmers-are-bad-at-estimating-times/
  • 大小: 124.6 KB
  • 大小: 35 KB
分享到:
评论

相关推荐

    为什么程序员不擅长估算时间

    程序员不擅长估算时间是软件开发领域的一个普遍现象,这涉及到多个因素。首先,软件开发的复杂性和不确定性使得准确预测时间成为一项挑战。编程任务往往涉及众多未知因素,比如需求的模糊性、技术难题的出现、代码的...

    什么样的人适合做程序员?程序员应该具有什么样的素质程序员四大禁忌

    这种坚持不懈的精神是程序员不可或缺的品质。 再者,程序员必须严谨细心。编程语言有着严格的语法规则,任何细微的错误都可能导致程序出错,甚至引发严重后果。因此,程序员在编写代码时必须保持高度警惕,对每一个...

    程序员专用 编程输入法

    标题中的“程序员专用编程输入法”指的是专门为程序员设计的特殊输入法工具,旨在提升编码效率。这类输入法通常具有以下特点: 1. **快捷代码输入**:程序员输入法能够通过快捷键、组合键或者自定义短语来快速输入...

    转载-程序员练级之路

    介绍了程序员如何进一步进阶提升自己能力的转载文档!真是有效,字字珠玑,大家快来下载啊!

    看图说话:为什么不能打断正在工作的程序员?

    例如,可以采用集中处理杂事、邮件和会议时间的方法,确保程序员在关键的编码时间段内能够不受打扰。此外,团队成员之间也应当相互理解和尊重,避免在工作时间进行不必要的交流和打扰。 在一些公司中,为了保证...

    程序员-工作日志示例

    工作日志是程序员日常工作中不可或缺的一部分,它可以帮助程序员更好地管理自己的时间、提高工作效率、记录工作进度、总结工作经验等。本文档是一个程序员工作日志示例,旨在帮助程序员更好地管理自己的工作,提高...

    程序员表白代码\爱的时间 html+js

    程序员表白代码\爱的时间 html+js 程序员表白代码\爱的时间 html+js 程序员表白代码\爱的时间 html+js 程序员表白代码\爱的时间 html+js程序员表白代码\爱的时间 html+js 程序员表白代码\爱的时间 html+js程序员表白...

    程序员第二步:从程序员到项目经理

    9. IT行业的相关知识:尽管从程序员转型为项目经理不需要直接编写代码,但仍然需要对当前IT行业技术趋势有基本了解,以便更好地理解技术团队的工作,并能和客户及干系人进行有效对话。 10. 适应性与学习能力:项目...

    最简单的程序员记事本

    这款记事本不仅仅是一个记录日常工作的工具,它更是程序员高效工作、精确时间追踪和科学管理个人生产力的得力助手。 首先,“程序员记事本”的第一个亮点是支持自定义分类。程序员在日复一日的工作中,会涉及到多个...

    程序员记事本,供程序员保存经常用到的代码

    云同步功能让程序员不受地点限制,无论在家、办公室还是途中,都能够随时随地访问和更新代码笔记。 个性化设置则体现了程序员记事本对用户体验的关注。不同的主题和字体可以满足不同程序员的审美和阅读习惯,提升...

    程序员的呐喊,完整扫描版

    另外,他还谈到了很多大公司的理念,比如亚马逊做平台为什么那么成功等。最后,《程序员的呐喊》还收录了他写的Google面试攻略,这篇文章可以说为无数应试者点亮了明灯。  《程序员的呐喊》讨论的都是程序员非常...

    程序员之路探究

    个人品牌与市场价值方面,文档指出,一个程序员的价值不仅在于其技术能力,还在于他能够为雇主创造多大的利益,以及他的不可替代性。即个人的职业发展不应该仅仅基于技能的提升,还要考虑与市场的需求相匹配。程序员...

    《Java程序员》

    从生存、制胜、发展三个方面入手,为大家展示出程序员求职与工作的一幅3D全景图像。本书中既有在公司中的生存技巧,又有高手达人的进阶策略,既有求职攻略的按图索骥,又有入职后生产环境的破解揭秘。 本书中浓缩了...

    多色主题-程序员简历模板 各不相同10份

    多色主题-程序员简历模板 各不相同10份 多色主题-程序员简历模板 各不相同10份 多色主题-程序员简历模板 各不相同10份 多色主题-程序员简历模板 各不相同10份 多色主题-程序员简历模板 各不相同10份 多色主题-程序员...

    java程序员面试交流项目经验

    java程序员面试交流项目经验java程序员面试交流项目经验java程序员面试交流项目经验java程序员面试交流项目经验java程序员面试交流项目经验java程序员面试交流项目经验java程序员面试交流项目经验java程序员面试交流...

    程序员简历程序员简历.pdf

    程序员简历程序员简历.pdf

    为什么程序员必须写技术博客?以及如何写?博客在面试时的加分可不是一点点,别再犹豫了,快行动起来!

    为什么程序员必须写技术博客_以及如何写_博客在面试时的加分可不是一点点,别再犹豫了,快行动起来!

    程序员青戈毕设资料库,程序员青戈毕设资料

    【标题】"程序员青戈毕设资料库,程序员青戈毕设资料" 涵盖了程序员在进行毕业设计时可能会遇到的各种知识点,这通常包括软件工程的基本原理、编程语言的应用、项目管理、数据库设计、前端开发、后端开发、算法与...

    程序员项目交接文档

    程序员项目交接文档概要 IT 项目交接文档概要是程序员在项目交接过程中的重要文件,它对项目的开发、测试和维护起着至关重要的作用。本文档概要将对程序员项目交接文档的主要内容进行概要介绍。 人事模块是程序员...

    程序员表白专用程序

    "程序员表白专用程序"就是一个这样的创意项目,它利用JavaScript(简称JS)这门强大的前端编程语言来为程序员们提供一个独特的方式来向心仪的对象表白。JavaScript是Web开发的基础,广泛应用于网页交互、浏览器扩展...

Global site tag (gtag.js) - Google Analytics