如果我们没有参加过任何正式的企业组织架构培训,大部分人可能都不能理解部门经理、项目经理与技术经理在职能到底有什么不同。大家都叫经理,其实又包括了上下级关系与平衡关系,相辅相承且具有明确的职责分工。就一般的企业组织架构而言,通常会分成开发部、运维部、产品部、市场部、商务部等等……每个部门会有一个部门经理,或称之为部门主管。在某些公司,会在技术部门中会设立项目经理与技术经理两种角色,特别说明一下这里的项目经理是指技术线上定义的,而不是指当遇到新项目时跨部门组建虚拟项目组中的项目经理。
简单地说:
部门经理(主管)的主要工作是协调部门内和企业内的资源分配,协调各部门的沟通,并承上启下地为部门的整体业绩负责。
项目经理的主要工作是协调项目内的资源分配,如日常沟通,进度管理等等,是为项目负责的。
技术经理的主要工作是协调项目内的技术活动,推动主要技术决策,技术的可行性研究,评价、确认并文档化软件架构等等。 在项目经理与技术经理中,往往一个科班出身的开发人员成为技术经理的曲线要比成为另一者要简单得多,毕竟技术经理更多的时间是面对着电脑去寻找答案,而项目经理则不然。
由于技术出身的原因,这类项目经理通常没有将角色转换出业,会将精力投放到技术细节上,有时并不是对于下属的不放心,而是使命感和责任感令他如此做,他希望将事情做到最好,自己最满意的效果,而这样的结果就导致了他没有时间去关注其他事情。
通常,项目经理与技术经理都会在同一个项目里共事,全他们又不是上下级关系,项目经理完全可以将技术分析、技术方案、技术难题交给技术经理来做,而因为项目经理的技术出身,也完全有足够的能力来判断和监督技术经理的工作成果。将这两者做一个分工:
项目经理(Project Manager)
1、项目组日常管理工作。
2、组织项目组成员对项目规模、工作量、工期进行估计。
3、制订相应的执行计划,解决阻碍项目开展的矛盾和问题,以保障项目能够按照执行计划顺利进行。
4、定义项目目标。在特定技术、费用和时间的限制下,协调组织中的各种资源达成项目目标。
5、与客户、领导、市场人员进行沟通。向外界提供项目的可视性,如工作进度、质量状况等。
6、监督和控制项目的进度、效率和风险。
7、根据使命、目标和需求来进行项目范围管理。
8、按照项目计划组织项目验收。
9、与质量保障人员配合,组织实施切实可行的质量体系,以保证项目产物的质量。
技术经理(Software Architect)
1、领导与协调整个项目中的技术活动(分析、设计和编码等)。
2、推动主要的技术决策。
3、负责项目团队成员技术能力培养。
4、负责组织团队成员进行项目涉及技术的可行性研究。
5、评价、确认并文档化软件架构。 部门主管的工作就更简单不过了,审核项目经理的项目计划,部门技术方向决策,人员管理了,部门间的会议,你根本没有时间去研究技术,以上的各种工作将填满你的工作表。
技术一线不需要项目经理,更不需要部门主管,技术一线的工作请交给你们部门中的核心技术人员吧,我们可以叫他们做架构师、技术经理、高级程序员或者技术牛人,随便你怎么叫。不要担心你的下属会将你的工作搞砸,将技术权杖交出,他们会用尽所有的魔力来为你施展魔法。