技术同学在整个产品生命周期中纠结最多的除了 “这段代码为什么又出 bug 了” 还有就是 “这次估期为什么不准” ,估期问题不仅是新手程序员做不好的事情,很多老鸟也会在这上面出问题。估期不准,大部分情况是估期时间偏短,这既是项目质量差的祸根,也是整个团队加班的赶工期的直接原因。综合我自己的经验来看,需求估期有以下部分需要注意。
很多技术同学对估期狭隘的理解为写代码的时间,这是典型的不从用户角度思考问题,站在业务方的角度来说,ta 希望你给出的时间是从你接到需求直到项目完整上线这整个阶段需要的时间,估期准确的必要条件之一是搞清楚从接到需求到需求上线,这期间可以划分为哪些部分,划分清除之后可以让我们可以针对每个部分来做估时,一些不必要的部分也可以直接砍掉节约时间。
上面是从接到需求到需求上线的大致流程切分,每部分也会存在一些问题需要考虑到:
上面这些大概就是占用时间的部分以及每个部分需要注意的问题。
除过了解哪些部分在占用时间外,对于任务的拆分是否细致也决定了估期是否合理。
对于任务的拆分,需要注意下面几点:
细致的拆分功能看似婆婆妈妈,其实这要比拍脑袋凭感觉给出估期好太多,也能体现一个技术人员的专业性。
软件开发领域有一个定律叫 霍夫施塔特定律( Hofstadter’s Law ),这个定律说:项目的实际完成时间总是比预期的要长。 这意味着我们在估期的时候一定要留下 buffer,因为总会有各种事情可能会占用时间,比如:
诸如此类的问题,也会占用部分研发时间,所以在给出估期时一定要预留 buffer,有一个简单的公式可以参考:
这只是我的一个简单经验,并不一定适用于每个人,根据自己的情况可以参考
如果估期实在是很长,和业务方的预期产生了差异,一定要向上暴露风险,或许有的技术同学会选择默默承受强行缩短工期,但是这样做是埋下了隐患。如果项目按时上线还好,如果项目延期那责任肯定是背定了。
所以估期一定要如实给,有风险可以向上暴露和沟通,估期长不是不靠谱的体现,没能按时上线项目才是。
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.