作为初级开发人员如何提供估算?

2025-06-10

作为初级开发人员如何提供估算?

介绍

我最近与一位刚刚开始从事开发工作的朋友进行了交流,她告诉我,她发现很难根据分配给她的用户故事做出估算。

之后我们进行了一次有趣的对话,我认为这实际上可能不仅适用于她,也适用于可能正在经历同样事情的更广泛的受众。

在本文中,我将提供一些想法,关于当您作为新(初级)开发人员开始工作时如何提供估算。

请注意,本文绝不是提供估算的“唯一”方法,并且估算结果可能会因项目而异。这只是一些需要考虑的事项,可以帮助您提供估算,并管理新开发人员在提供估算时可能遇到的不安全因素。

估计

2-估计.png

无论您是初级开发人员还是高级开发人员,首先要了解的是,“估算”一词意味着“大概”,也就是说,它不应该是精确的。完成一项任务所需的时间很大程度上取决于许多因素,例如您当前的技能水平、您在该领域理解需求的总体经验、您是从头开始构建产品还是在现有产品上添加功能等等。

例如,假设你加入了一个拥有相当庞大代码库的项目。当你被要求估算某个功能所需的时间时,你的第一反应是估算完成该功能所需的时间。然而,通常“未提及”的是,你还需要在估算中包含执行“影响分析”所需的时间,即进行分析以确保你添加的代码不会影响任何其他现有功能。确保你考虑到提供未提及内容的估算需要一定的经验,因此始终建议在将估算提交给主管或经理之前,先请一位资深人员审核你的估算。

关键术语

我提供了敏捷开发工作流程中常用的关键事项列表。

用户故事

linkedin-sales-navigator-4rvBjoQWERk-unsplash.jpg

在敏捷开发过程中,功能会以用户故事的形式来描述,即该功能对最终用户的意义。通常,用户故事的表述方式是“作为用户,我应该能够做到这一点,以达到特定的结果”。一个好的用户故事应该明确规定验收标准,以帮助您和其他人确定需要验证哪些内容才能将用户故事标记为完成。

每个用户故事都根据其复杂程度进行大小划分,“T恤”尺寸划分是业内常用的方法。每个用户故事都根据其复杂程度标有 XS、S、M、L、XL 等尺寸。尺寸划分通常由团队的资深成员提供,因为他们了解产品,并且通常对软件更有经验。作为初级开发人员,您需要将用户故事分解为更小的任务并进行估算。

范围

范围可以简单地解释为用户故事中需要开发的一系列约定事项。通常,在开发过程中可能会出现用户故事中未明确说明的情况,因此务必将其指出并通知团队中的上级。

奥斯汀-distel-rxpThOwuVgE-unsplash.jpg

最有可能的是,它会被添加到当前的故事中,或者如果影响更大,可能会创建一个新的故事来解决这个问题。然而,需要注意的是,如果你必须将其作为同一用户故事的一部分来开发,那么你最初的估算就会受到影响。

对于新开发人员来说,这一点很难发现,好的领导应该解释这一点并指导您如何处理范围蔓延。

速度

“速度”这个术语用于衡量开发人员完成分配给他们的用户故事的速度。同一个用户故事,高级开发人员可能需要 4 个小时才能完成,而初级开发人员则可能需要最多 2 天才能完成。

标记-tuzman-kwXwZxKVgao-unsplash.jpg

您必须明白,这是完全“正常的”,您必须随时与您的上级沟通您的感受,并向他们询问他们推荐的任何提供估算的具体方向/指南。

此时,冒名顶替综合症是一个需要克服的难题,你的自尊心有时也会受到打击。承认这一点,并不断告诉自己,这是一个学习阶段,掌握产品和技术只是时间问题。

容量

彼得·费加利-HJpISHFSkJo-unsplash.jpg

这个很简单。容量规划是在冲刺开始前进行的,目的是了解开发人员是否有计划休假。你可能会问,这会如何影响估算?虽然大多数情况下不会。但是,如果你要休息一周或更长时间,你必须确保在休息前联系团队,了解是否有任何可能影响你编码的变更。此外,在度过一个超级放松的假期后,通常需要一天的时间来建立环境并恢复到“工作心态”🙂

估算的一般准则

当您作为新开发人员开始工作时,我建议您按照以下步骤进行估算:

  1. 将任务分解成最基本的事情。例如,构建应用程序的主页可以分解为在主页上构建单个组件。
  2. 花一些时间来了解是否还有其他问题需要澄清要求或在此阶段需要指出的会影响估算的事情。
  3. 仔细考虑各种极端情况(不只是快乐路径情况),并查明它们是否会以任何方式影响您的估计。
  4. 添加每个任务的小时数估算。
  5. 您的估算必须包括编写单元测试的时间。
  6. 与高级开发人员一起审查您的估算,并记录高级开发人员提供的反馈。

即使在此之后,你仍有可能需要额外的时间来完成任务,这完全正常。但是,记录你实际花费的时间与最初估算相比有多少差异非常重要。这一点“非常重要”,因为它能让你和你的团队了解你目前的技能/理解水平,并且随着你在项目中积累更多专业知识,这个数字也会逐渐提高。

结论

虽然作为初级开发人员在开始提供估算时可能会感到畏惧和压力,但请记住,随着时间的推移,您将获得有关项目的专业知识和知识,并且您的估算也会开始变得更好。

优秀的项目经理或项目负责人会持续收集你的估算数据,并持续提供改进建议。随着你的工作效率提升,他们会注意到这一点,并持续给你分配更多工作。

我真诚地希望本文能够帮助您作为刚刚进入该行业的开发人员获得一些有关提供软件估算的知识。

不要忘记订阅我的时事通讯并在 Twitter 上与我联系@skaytech

您可能还喜欢以下文章:

鏂囩珷鏉ユ簮锛�https://dev.to/skaytech/how-to-provide-estimates-as-a-junior-developer-a2n
PREV
Git Hooks 是什么?简介 Git Hooks 是什么?为什么要使用 Git Hooks?如何实现 Hook?实例 Git 预推送 Hook?如何绕过 Hook?版本控制 - Git Hooks 总结
NEXT
测试 SpringBoot 应用程序