3

我刚刚参加了关于谁最适合对给定工作进行估算的讨论。

在详细的层面上,我总是说最好的估计来自实际必须做这项工作的人,因为他们有充分的理解,这让他们完全接受,但是在更高的抽象层次上(即在整个项目级别)我不太确定。

我想起了 Peopleware 中的第 5 章,它给出了 1985 年澳大利亚研究的结果——我能找到的最佳链接在这里

我对您在这里的关注点特别感兴趣——您是作为开发人员、架构师、项目经理还是其他人回答问题?

4

7 回答 7

11

我以经理(现在)和开发人员(过去)的身份回答这个问题。

高层估计应该来自团队/项目负责人,但需要开发人员的投入。它们也应该以范围的形式给出 - 最有可能出现最坏的情况,并指示每个的置信水平。

团队领导不可能足够深入地了解项目的所有内容,因此他们需要开发人员的一些意见,但这样做的危险是您在过程中过早陷入细节的困境。同样,单个开发人员对项目的了解不够广泛(除非它真的很小),无法对所有内容进行估算。

然后,经理整合这些估计并寻找冲突和协同作用以获得“大局”——毕竟这就是我们的报酬。

作为一名开发人员,我不会信任一个在没有与开发人员核实的情况下给出估算的经理,但同样我也不会信任一个只是询问开发人员并在没有以某种方式“编辑”它的情况下传递该信息的经理。

于 2009-03-06T13:11:53.687 回答
3

负责签署估算的人应该是项目经理。那是他们的利基。

然而,我并不是说 PM 应该做出估计。

我是说项目经理需要从各种来源(技术、业务等)对项目的不同部分进行估算。在任何项目中,都会有很大一部分不是技术性的。

任何技术性的东西都应该由技术人员估计。

但是,出于同样的原因,任何非技术性的事情都应该由适当的专家进行评估(CPA 类型称这些 SME——主题专家)。架构师可以估计技术解决方案。A BA 差距分析。经理可以执行业务流程实施。等等。

但是确实需要一个 PM 将所有这些联系在一起,形成一个高水平的估计,特别是在资源配置和制定相互依赖关系和关键路径方面。

于 2009-03-06T13:09:35.860 回答
1
  1. 开发人员通常应该做出初步估计。经理应该能够根据谁实施它来为其添加风险因素。(例如:如果实施它的开发人员比给出估计的开发人员有更好的知识,风险会更低)。开发人员也可能不知道项目的其他开发领域(假设它很大)。这就是经理的估计出现的地方。如果项目很小,那么开发人员的估计就足够了。
于 2009-03-06T13:07:22.077 回答
1

每个人都应该给项目经理一个估计:功能分析师、测试分析师和高级开发人员。

PM 的任务是确保它们在一定程度上符合现实并加以总结。

于 2009-03-06T13:14:00.640 回答
1

开玩笑的敏捷答案是:没有人应该这样做,因为无论如何它都会大错特错。

于 2009-03-06T13:38:02.923 回答
0

我认为这取决于作品。很多时候,项目经理完全有能力估计说,在屏幕上添加一些额外的数据,改变布局,你说出它需要多长时间。

但是,有时事情会更加复杂,尤其是当它们深入触及系统架构时。在这种情况下,项目经理应该咨询开发人员、架构师或两者的估计,以及为什么要花费特定时间来实施。

此外,我认为项目经理应该使用开发人员的估算来得出最终估算,就像 schar 说的那样。他们应该增加一定百分比的开销、测试时间、风险因素等。

于 2009-03-06T13:11:46.777 回答
0

我以经理(现在)和开发人员(过去)的身份回答这个问题。

在我们公司,开发人员总是参与估算。我们对业务顾问创建的用户故事进行高级估计。

业务顾问将用户故事传达给我(技术团队经理)和开发人员。

我们安排了一次评估会议来讨论用户故事和项目背景(三个人,业务顾问、开发人员、技术经理)。在会议中,我和开发人员都做笔记并写下每个用户故事所需的时间。

会议结束后,开发人员填写了一份估算表,我们确保双方都同意该估算。完成后,估算表将返回给业务顾问。

通常会在 x 到 x 次 3 天的范围内给出高水平的估计。

例如:40 到 120 天。

显然,我们只估计所需的开发/测试/部署时间。X 百分比将用于项目管理和技术管理、风险和管理费用。

于 2009-03-06T13:30:19.087 回答