评估工作:软件开发的超级力量
评估工作:软件开发的超级力量
原文:https://medium.com/hackernoon/estimating-work-a-software-development-superpower-9d8526ce6b0e

当决定构建新的特性和功能时,产品经理和非技术型创始人问工程师的一个最重要的问题是,“这需要多长时间?”
对于给定的特性/产品,这个问题通常出现在决策过程的最后一步。在提出“问题”之前,提问者很可能已经和所有其他利益相关者谈过,并收集了关于这个想法的初步想法。一旦一个计划引起了利益相关者的兴趣,下一步就是计算出建立这个计划需要多少资源。在软件开发中,资源本质上意味着工程和设计时间。由于设计应该领先于工程,并且更加直接,所以工程时间是主要投资。
原因如下。
如果一名工程师说他或她将花 6 个月的时间来构建——假设该工程师每年挣 12 万美元——新功能仅在工程时间上就要花费 6 万美元。如果工程师休假 2 个月,那么项目就多了 20000 美元(加上不能指派工程师从事其他工作的机会成本)。
上述估算巨石块 6 个月工作量的方法很可能是错误的。正如我们刚刚提到的,错误的工作评估是非常昂贵的。
伟大的工程师有一个更加零碎的评估工作的方法。并不是说这些工程师一定更聪明或者更有才华。这些工程师只是对他们自己的软件开发能力有一个更现实的理解,并且可以预见到可能会阻碍他们进展的挑战,并提前传达他们可能需要的任何帮助。
通过将一个软件项目分解成几个阶段,伟大的工程师能够估计项目每一部分的工作量。当工程师有能力将项目分成几个部分,然后估计每个部分的工作量时,项目的最终时间表可能会更准确。
如果团队中有多名熟悉代码库的工程师,这个过程会更好。简单地让几个工程师在房间里(为了安全起见,在日历上划出几个小时),回顾项目的各个阶段和每个阶段估计的工作量,并问一个开放式的问题,“听起来怎么样?”。然后闭嘴,做笔记,让他们从头到尾说一遍。在他们讨论的最后,你将会在开始开发之前得到尽可能好的工作评估。
非技术型创始人和产品经理在软件开发的许多方面都受到限制,但这个过程是我见过的解决“我不会编码,所以我不知道要花多长时间”问题的最好方法之一。
这种方法最棒的地方在于,如果你花了足够多的时间,你就开始拥有最好的产品管理超级能力:一种正确估计产品制造时间的天生能力。
感谢阅读!如果你喜欢这个,它将是真棒,如果你击中推荐: )
P.S .
让软件开发人员呆在一个房间里,要求他们通过思考来解决问题,这是在科技工作的最好的部分之一。这会让你领略到其中的动态。



