我们拥有一个相对较小的开发团队,其中只有不到5人,还有一名项目经理。您认为项目经理在这样一个团队中应该承担的典型责任是什么?我从开发人员的角度来看更多的东西,想知道我应该从经理那里得到什么,以及我应该关心自己(例如代码质量,协调等)。
目前,我们的项目经理大多只是定期询问这些人:“您的任务有什么进展?”,并作为负责该项目的业务人员和开发人员之间的代理。交付,只是将压力传递给开发人员。他从来没有阅读过代码,所以除非开发人员告诉他,他甚至不知道那里的问题(当负责它的开发人员表示已经完成并且没有明显的问题时,任务被认为已经完成)。
此外,在这样一个团队中拥有一名项目经理是一个很好的策略,还是只有一个技术领导者才能更好地完成一些管理任务呢?
更新:我对敏捷方法没有深入的了解,但我认为不具备技术技能(对于PM,SCRUM大师等)的危险在于,当你无法真正区分团队成员的素质时你唯一的指标是他们告诉你的。它归结为他们在沟通和说服他人方面的优势,而不是他们是否了解项目中的真正长期问题(如可维护性,遗留代码,架构问题等)。
答案 0 :(得分:7)
天儿真好,
(在这里插入通常的他/她免责声明)
一个优秀的项目经理会认为他为团队工作而不是团队为他工作。他们明白,如果他们尽可能多地消除障碍,让团队看起来很好并做好工作,他们会看起来很好。
最重要的责任是确保团队拥有完成工作所需的一切。
他也应该向前看,看看路上是否有任何障碍,并在成为问题之前尝试将其删除,以尽量减少对团队的干扰。
他应该让管理层干扰远离团队,以便让你继续完成任务。
我曾经遇到过这种情况,有一次项目经理在这三项任务中都做得非常出色。不幸的是,大多数情况下,PM并没有该死的想法,只是将他的压力直接汇集到团队中,无论他们多么愚蠢,都会传递所有管理要求。
编辑:代码质量最初是程序员自己的责任。
假设他们是a)竞争者,b)专业人士,因此他们生产的东西是好的并且符合目的。它应该由他们进行测试,因为正如那句古老的说法“如果没有经过测试,它就没有完成!”。
然后是更广泛的功能测试,它应该是正常QA程序的一部分。
HTH
答案 1 :(得分:7)
在一个小团队中,你不应该引入任何不必要的开销,并选择平面层级。这不仅可以改善团队中的沟通,而且如果他们的话很重要,开发人员也会感觉更好。
尽管如此,您还需要为每个项目或整个团队定义一个负责任的经理。根据我的经验,他/她有以下任务:
最后一点非常重要。如果项目经理无法编写代码,那么他应该如何完成其任务(参见项目状态,调解,与客户协商)。
答案 2 :(得分:2)
项目经理的职责可归纳为
答案 3 :(得分:2)
团队的规模只是一个因素,一个细节。有许多因素需要考虑,这使您的问题难以回答。
为了说明“正确答案”的带宽,请考虑以下两个极端:在Scrum(an 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)
项目经理的职责是按预算和规格按时发货。从这一单一责任出发,履行了一系列其他责任;接下来是我的第一次切割,您可能想要添加或减去它:
其他受访者已经写了一些关于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上写了一篇文章,这是一个很好的起点。