在一小组开发人员中,项目经理的职责是什么?

时间:2010-01-17 11:19:16

标签: project-management

我们拥有一个相对较小的开发团队,其中只有不到5人,还有一名项目经理。您认为项目经理在这样一个团队中应该承担的典型责任是什么?我从开发人员的角度来看更多的东西,想知道我应该从经理那里得到什么,以及我应该关心自己(例如代码质量,协调等)。

目前,我们的项目经理大多只是定期询问这些人:“您的任务有什么进展?”,并作为负责该项目的业务人员和开发人员之间的代理。交付,只是将压力传递给开发人员。他从来没有阅读过代码,所以除非开发人员告诉他,他甚至不知道那里的问题(当负责它的开发人员表示已经完成并且没有明显的问题时,任务被认为已经完成)。

此外,在这样一个团队中拥有一名项目经理是一个很好的策略,还是只有一个技术领导者才能更好地完成一些管理任务呢?

更新:我对敏捷方法没有深入的了解,但我认为不具备技术技能(对于PM,SCRUM大师等)的危险在于,当你无法真正区分团队成员的素质时你唯一的指标是他们告诉你的。它归结为他们在沟通和说服他人方面的优势,而不是他们是否了解项目中的真正长期问题(如可维护性,遗留代码,架构问题等)。

9 个答案:

答案 0 :(得分:7)

天儿真好,

(在这里插入通常的他/她免责声明)

一个优秀的项目经理会认为他为团队工作而不是团队为他工作。他们明白,如果他们尽可能多地消除障碍,让团队看起来很好并做好工作,他们会看起来很好。

最重要的责任是确保团队拥有完成工作所需的一切。

他也应该向前看,看看路上是否有任何障碍,并在成为问题之前尝试将其删除,以尽量减少对团队的干扰。

他应该让管理层干扰远离团队,以便让你继续完成任务。

我曾经遇到过这种情况,有一次项目经理在这三项任务中都做得非常出色。不幸的是,大多数情况下,PM并没有该死的想法,只是将他的压力直接汇集到团队中,无论他们多么愚蠢,都会传递所有管理要求。

编辑:代码质量最初是程序员自己的责任。

假设他们是a)竞争者,b)专业人士,因此他们生产的东西是好的并且符合目的。它应该由他们进行测试,因为正如那句古老的说法“如果没有经过测试,它就没有完成!”。

然后是更广泛的功能测试,它应该是正常QA程序的一部分。

HTH

答案 1 :(得分:7)

在一个小团队中,你不应该引入任何不必要的开销,并选择平面层级。这不仅可以改善团队中的沟通,而且如果他们的话很重要,开发人员也会感觉更好。

尽管如此,您还需要为每个项目或整个团队定义一个负责任的经理。根据我的经验,他/她有以下任务:

  • 与客户协商(商业和软件方面)
  • 所有团队项目状态和截止日期的概述
  • 任务计划,分发和估算(可以并且应该与团队成员共享,但PM负责)
  • 一般团队管理:谁在何时何地做什么
  • 在发生技术故障时进行调解
  • 编写代码

最后一点非常重要。如果项目经理无法编写代码,那么他应该如何完成其​​任务(参见项目状态,调解,与客户协商)。

答案 2 :(得分:2)

项目经理的职责可归纳为

  • 应该培养责任,问责和独立的文化,并集中精力完成任务 清除通路和障碍 面对最优秀的团队成员 方式可能。

答案 3 :(得分:2)

团队的规模只是一个因素,一个细节。有许多因素需要考虑,这使您的问题难以回答。

为了说明“正确答案”的带宽,请考虑以下两个极端:在Scruman agile approach)中,Scrum Master相当于项目经理。这个角色主要不需要技术专业知识,因为一个重要的任务是为团队建立适当的生产环境。在不太敏捷的环境中,waterfall model更为普遍,lead programmer的技术焦点变得更加重要。

他似乎试图让你免受外界的干扰。那没问题。他似乎也对球队承担了很多责任。这也没关系,如果团队可以处理自我责任。整个情况可能是(半心半意的)尝试将敏捷性引入团队。如果没有人知道旅程应该去哪里,这种尝试就会失败。

答案 4 :(得分:0)

查看有关Scrum项目管理方法的信息。我在小公司工作,对团队中4-8名程序员来说做得很好。 Scrum方法Scrum Master =项目经理。每天都有一个Scrum,Scrum Master会问:

- 你昨天做了什么? - 你今天打算做什么? - 你有什么问题妨碍你实现目标吗?

与客户联系也很重要,(另见项目业主角色) http://en.wikipedia.org/wiki/Scrum_(development)

答案 5 :(得分:0)

项目经理的职责是按预算和规格按时发货。从这一单一责任出发,履行了一系列其他责任;接下来是我的第一次切割,您可能想要添加或减去它:

  1. 计划,管理和控制项目。
  2. 报告,特别是报告不合规格,关闭时间和预算外事项。
  3. 管理风险。
  4. 确定问题(填写您自己的问题定义)并采取措施防止问题成为问题。
  5. 其他受访者已经写了一些关于PM可能履行其职责的方式非常明智的事情,但其中大多数似乎都是达到目的的手段而不是目的。

答案 6 :(得分:0)

项目经理应该与团队合作而不是反对它!

此外,他最大的责任之一是确保项目进展顺利,而不是他目前的职位。这意味着他/她不应该采取最乐观的方案,以给他/她的上级留下好印象。有时候PM只会说“2周?!Noo ......你是我最好的开发者,我知道你可以在1”做到这一点。这种现实的时间缩短将进一步扩展。 PM的上司会说:“1周?!Noo ......我知道你是一位有能力的经理,你会找到一个更好的解决方案,在3天内完成”。等等...

PM必须以某种方式技术化才能理解并找到风险解决方案。他应该能够看到即将到来的风险并选择如何处理它们(治疗,终止,转移或承担风险)。

PM必须调解公司的所有冲突团队或团队休息。不仅PM必须调解这种冲突,而且他应该有第六感,期待它们并在初期阶段解决它们。

根据项目组织,PM必须确保团队仍在组织的控制之下并尊重其政策和内部规则。 PM是代理人,他不应该孤立该团队。

至少但绝对不是最后,PM必须尽力按时完成并满足客户和组织的期望。

答案 7 :(得分:0)

对于像你这样的小团队,一名工程师应该担任 技术主管和项目经理。有这么多的决定 它跨越了要求,时间表,设计和质量 最好的,如果一个人可以把它全部放在头上并协调 与团队和外部客户合作。

但是既然你有一个项目经理,我建议你选择一个 其他工程师作为技术主管并要求他们一起工作。 技术主管可以拥有设计,估算和代码 质量。两者应该在要求上一起工作。该 项目经理可以处理外部沟通,协商 根据估计安排,并处理护理和喂养 的团队。通过合作,他们可以保护团队并使之成为现实 确保在符合您业务的日期交付好产品 需要。

答案 8 :(得分:0)

我认为您应该建立一个敏捷团队。在您所描述的环境中,学习如何应用敏捷和混乱并不困难。花1/2天的阅读时间,加上持续的教育,也许每周花1/2小时在该主题上,应该可以帮助您入门。

我在the role of project manager in agile software development上写了一篇文章,这是一个很好的起点。