Ref*_*din 30 time project-planning project-management
作为一名新的开发人员,他是员工中唯一的软件人员,我遇到了一些挑战,但最困难的可能是时间估计.每次我必须给出一个项目估计时,我都会喋喋不休.
我的问题是; 如果我没有任何经验而且我的环境中没有开发人员,我该如何提供可靠的估算?我已经阅读了Joel Spolsky关于循证调度的文章,但如果我没有任何证据,那该怎么办呢?
我很欣赏有关这个主题的任何建议.
Jon*_*eet 30
您没有提供可靠的估算.你给好答案就可以了,并解释说,这是只是一个非常粗略的估计,以及为什么它是如此粗糙.
如果你清楚地表明:
我觉得你应该没问题.你需要做这些事情非常虽然明确,以书面形式,这样你就不会被后举行的粗略估计.
IMO Joel在他的文章中走的很远,他的结论和建议并非基于任何现实.(对不起,乔尔)从根本上说,他说你应该能够在开始之前将工作安排到几小时或更短的时间单位.但实际情况是,在进入代码之前,你不知道这些工作单元是什么(在非平凡的系统中).因此,在你打开引擎盖之前,你不能想出你要做的事情的每小时细分,并且让细分反映实际发生的任何准确性.
如果您希望估算具有任何价值,那么给出项目估算非常困难.对于程序员来说,提出准确的估计是很困难的,因为在你深入研究之前,你经常没有发现项目的所有复杂性.
因此,解决这个问题的方法是在提出估算时进行讨论.对于较小的项目和错误修复,这非常简单:
在找到你必须写的代码时,你必然必须发现大部分或者所有复杂性,这些复杂性会抛弃你的估计.
这种方法的有趣之处在于,生成估算所需的时间通常是实际完成工作的总时间的90%.你几乎必须做这项工作才能得出估计数.特别是在修复错误的情况下,解决方案通常只需要一行代码,因此您的估算结果最终为5分钟.这很好,因为截止日期可以设置在这样的估计值附近.
当你练习这个时,你会越来越好"只知道"需要多长时间.起初,您只能"只知道"最小项目需要多长时间.但随着时间的推移,您将能够估计更大和更大的项目.