作为开发人员,如何估算任务完成的时间?
计算完成任务所需的时间很难,但这同样重要。让我们深入探讨一下如何完成任务。
时间估算是项目开发中最关键的指标之一。虽然它对任何类型的项目都很重要,但今天我将只讨论软件开发项目(因为我对软件开发项目非常了解😁)。
准确估算任何任务的时间都非常困难,但至关重要,因为整个项目的时间表都取决于每个任务。大多数时候,我们都会低估一项任务,导致工作不完美(尽管完美只是个神话)、代码漏洞、工作质量下降,最终导致团队沮丧!
说实话,我并非这方面的专家,在Peerlist早期,我计算完成这项任务所需的时间时也犯过一些错误。不过,今天我还是想写写这个,因为这是一个很少被讨论的话题,而且随着我在这方面的水平一天天提高,我决定把我的方法分享给所有读者。
在我们开始理解我的流程之前,让我们先尝试理解一下——
为什么估计给定任务的时间如此困难?
1. 过度自信(我是一个超人😎)
别误会,我们很容易忘记过去的经历,变得对自己相当乐观。比如,我知道创建一个页面的UI通常需要4个小时,下次我会“想”自己能在2小时内完成!
这是我基于当时“想法”而做出的“假设”,我甚至没有意识到,如果通常需要4个小时才能完成,那么我怎么才能在2个小时内完成呢?过去经验中的乐观并没有让我做出更好的决定,反而高估了我的工作能力。
最终结果是,我无法完成,感到恼火,并影响了整个项目的截止日期!
2. 我们不太在意追踪完成小任务通常需要多少时间
上面提到的那个,我无缝衔接地写了大约4个小时的UI页面,而这仅仅是我的猜测!如果我问你工作中任何一小部分需要的时间,我敢肯定你最终也会猜测时间。这在我们所有人身上都很常见。我们工作时通常不会记录自己的时间。
我知道你现在肯定觉得追踪时间可能会降低你的效率和专注力,但这就像是在训练自己。如果你对时间有了更好的理解,你就能更好地估算时间。
好了,说完了为什么,现在我们来找找解决方案。让我们理解一下——
如何更好地估计时间?
我创建了一个任务时间估算的小模型。记住,这是最适合我的方法,而且我还在不断改进它。如果你觉得可以添加或删除其中任何步骤,那就去做吧!另外,虽然这听起来像是一项任务,但相信我,一段时间后,它就会变成一个非常正常的过程。
因此,让我向您介绍我估算任务时间所采取的所有步骤。
1. 将任务分成小单元
无论任务多小,如果能把它分成小单元,就能更好地理解所需时间。我通常会把所有主要任务分成30分钟内可以完成的小任务(每个单元的完成时间不应超过30分钟),具体时间取决于你认为最适合自己的时间。
2. 结合所有步骤,找到最终的时间表
现在您已将任务划分为较小的任务,请计算所有任务以及完成它们所需的总时间。
专业提示:我把所有小任务都写成代码里的注释,每当一个任务完成,我就删除它。这能让我获得完成和取得成就的那种多巴胺感 😉
3. 增加 25% 的时间作为保证金
尽管您创建了小任务并添加了正确的时间,但仍然很有可能您误解了某些事情,某些事情按时发生了,或者其他任何事情,因此始终始终始终将此缓冲区保持在至少 25% 的时间内。
好吧,谁知道如果你按时完成,这 25% 可以作为你的奖励!
4. 评估完成任务后的时间
我认为这是最重要却又最容易被忽视的一点。一定要回顾你所有的时间估算,并开始评估哪些是正确的,哪些是超出预期的。但是,对于所有你估算错误的,不要认为你在任务中表现不佳,而应该只是你的估算有误!这项回顾将帮助你显著提高估算能力。这个过程听起来可能没那么有趣,但相信我,你只需要15分钟就能完成。
5. 不要忘记休息
我犯过这种错误!我以前总觉得休息5-10分钟就够了,但其实不然!(拜托,谁能在5分钟内刷完推特就把手机扔到一边呢🙄)。你的情况可能不一样,但关键是,你应该考虑一下需要多少合适的休息时间才能给自己充电。
6. 使用时间跟踪和番茄工作法
我不会再要求你订阅任何时间追踪应用了,因为谷歌计时器对我来说最有效!我总是会启动一个30/40分钟的计时器,关闭所有不需要的窗口,静音/忽略这段时间内的所有通知,然后开始着手完成一项任务,力求在截止日期前完成。这几乎就像番茄工作法一样。
*它有什么帮助?*
- 您不会被其他窗口、通知等分散注意力。
- 你的任务是有时间限制的。所以如果你没能及时完成,你很快就会明白。
- 这可以帮助您休息而不会感到内疚。
- 你开始制定工作时间表。
我遵循所有这些方法,它们每天都在帮助我更好地估算时间。我相信一件事:如果你不知道自己在规定时间内能做完某件事,那没关系;但如果你不知道自己在规定时间内做不完,那就糟糕了!后者只会让事情变得更糟。
如果你还在这里,我很欣赏你为了更好地完成任务而做出的努力!希望我们都能尽快破解这个密码。同时,如果你找到了更好的方法,我会随时倾听/阅读。
希望这篇文章能对你有所帮助。如果没有,我随时欢迎你的反馈。我平时在Twitter上非常活跃,欢迎随时联系我。
厚着脸皮宣传一下,加入Peerlist吧。这是一个社区主导的专业社交平台,面向拥有丰富工作经历的科技人士。
继续建设🙌🏼
鏂囩珷鏉ユ簮锛�https://dev.to/hey_yogini/as-a-developer-how-to-estimate-the-time-for-a-task-44b