它在市场上是如何运作的?如果可以概括,让项目负责人自己成为开发人员是否是关键点?
如果他不那么擅长编码,他怎么能理解其余的人真正在谈论什么。如果他在编程方面如此出色,他可能在领导方面会遇到困难。如果你想想你遇到的“好”的项目负责人,这种平衡如何?
当项目经理了解编程的工作流程时,一切都很好。项目经理不需要编码,所以他也不需要理解它。他必须明白的是,必须做什么样的事情才能成功完成这个项目。
困难的问题。
这实际上取决于项目的大小。在大型项目中,您通常会有一个整体项目负责人和一个开发负责人。那么开发负责人应该是具有良好管理能力的开发人员。并非所有开发人员都能做到这一点,因此选择技术和组织/社交技能平衡良好的人很重要。
如果你只有一个整体的项目负责人,那就有点困难了。领导可能会做很多客户互动和组织,所以开发人员没有多大意义。然后,您可能应该选择某人作为开发负责人(即使是非正式的)与项目负责人联络。
重要的是有人负责技术开发问题,而且必须有人是开发人员。
好吧,如果项目经理是开发人员,这肯定会有所帮助。但不幸的是,这还不够近。
在 9 日的 Hanselminutes 上有一段 Scott Hanselman 和 Chris Sells 的视频,他们“有点”谈论管理人员和时间。我从那段视频中保留下来的是,克里斯·塞尔斯(Chris Sells)在某个时候说,管理与其说是提高自己的工作效率,不如说是让你的团队变得富有成效。我认为这是一个有效管理者的一个非常关键的方面。让您的员工成为并希望成为富有成效的人。
因此,为了实现这一目标,我的书中绝对应该具备以下能力:
正如你所看到的,对于我提到的一些观点,作为开发人员的经理是必须的,而对于其他人来说则不然。
我认为有很多方法可以成为一个好的项目负责人。我目前有2个,它们都很棒。其中一个是软件工程师,他喜欢和我争论,直到我们找到最好的解决方案。我喜欢这些论点,我们的软件更适合它(他也喜欢有机会思考改变而不是编写 TPS 报告)。
另一个是,出于所有意图和目的,他的老板。当我与“老板”讨论时,他对软件工程一无所知——然而,他确实意识到我懂。如果我告诉他某件事需要很长时间,或者不可行,他不会争辩——他会告诉客户并接受打击,而不是试图迫使我去做不可能的事情。这种方法使我们能够构建出色的、高度稳定的软件,在该领域处于世界领先地位。如果我们不得不不断地“破解”来取悦客户,我们的软件就不会那么好。显然,有时我们必须破解,当我们这样做时,我们都每周工作 18 小时,直到完成需要完成的工作。如果正常的管理风格是“我告诉你就完成”,我不会这样做。
我想我想说的是——你是否有工程背景可能并不重要,只要你知道你不知道什么,并允许工程师不受干扰地完成他们的工作。
我合作过的成功的项目负责人都是前程序员,具有良好的人际交往能力和组织事物的才能。通常他们不再进行编码,但知道这些东西是如何工作的。
不成功的项目负责人通常缺乏人际交往能力,几乎没有领导他人的才能。
我曾经有一个项目经理,他是一位出色的开发人员。他在技术上对项目很有帮助。但是这个项目失败了,因为他没有更多地关注截止日期,他非常喜欢代码和设计。
如果项目中的所有人都更关注代码、文档等,谁会更关注项目的截止日期?