第五章 X 公司基于 IPD 的组织建设
5.1 X 公司组织环境存在的问题及分析【1】
X 公司原有的研发组织结构是在技术开发部门下设项目组,不同的研发项目组负责不同产品的研发,项目经理对产品的成功负责。项目组主要由技术研发人员组成,技术研发部门选派项目经理作为协调人与其他部门(市场,财务,客服部门)沟通,其他部门可能会抽调人员进入项目组开展项目的实施工作。虽然有其他部门的配合,但是产品的研发仍然由研发部门主导,其他部门的参与程度不高,团队协作能力差。产品研发各阶段工作依次顺序通过各个职能部门执行,职能部门只重视和本部门绩效考核相关的工作。例如,市场部门关注产品上市时间和销售情况,技术部门更加看重产品的技术可行性,而客服部门则关心产品的可维护性。非技术研发部门认为产品研发是技术部门的任务,其他部门只是被动地配合技术研发部门的工作。在需要多部门协同配合的研发任务中,非技术部门的主动性不高,一些部门的考核目标和项目组的考核目标并不一致。
目前公司在组织结构上存在的问题,在很大程度上是受到公司的组织结构的36影响。X 公司原有的职能型组织结构在公司创建初期建立起来的。当时公司的情况是公司规模很小(30 多人),公司的员工之间都比较熟悉,可以直接沟通。公司只有 2 至 3 个研发项目,研发项目之间的关系不密切。在研发过程中研发团队更专注于用户数据处理,网络通信技术等底层计算机技术研发。企业确定的竞争策略是通过技术上的领先来确立产品的竞争优势。职能型的组织结构在这个公司的发展阶段基本是适应公司的业务需要的。职能型组织的优点是按部门功能划分内部资源利于管理和各个部门专业水平的提高,对部门内人员采取直线式管理,执行力度强。研发部门根据公司制定的产品开发计划成立产品项目组,项目经理除了管理本部门的技术研发活动以外,还要充当协调人的角色负责和其他职能部门的沟通协作。但是,随着公司的发展,无论是各个部门的人员规模,还是研发项目的数量都显着增加,这种看似简单的组织架构的缺点也暴露出来。
首先,部门之间的协作难度大。虽然软件产品研发可以分为需求分析,产品设计,技术开发实现,测试和售后维护等几个阶段,并分别由市场部门,产品设计部门,研发部门,测试部门和客户服务部门依次在整个产品研发过程中发挥作用。但是,这几个阶段并不是截然分段进行的,在有些情况下一些工作步骤要并行甚至提前进行,比如产品的测试工作经常要在需求调研阶段就介入研发工作流程以保证产品的可测试性。
要克服部门间的隔阂,就要求相关职能部门能统一行动和思想,既要有明确的职能分工,又要建立规范的合作机制,通过正式的沟通方式来共同制定项目的目标和进度安排。同时,非技术研发部门的主管要转变观念,认识到产品研发工作是一项系统的,可控的,需要各个职能单位配合的流程。各个部门要主动参与产品研发的决策中,从公司整体利益的角度认识产品开发过程中所要担负的责任,跳出自己部门的狭隘界限,提高跨部门决策的水平。现代软件研发管理方法也都是基于各职能领域配合协作的,所以 X 公司有必要建立跨领域研发团队。
其次,项目管理者权责不对等也是亟待解决的问题。权责对等是现代管理的基本要求,产品项目的负责人要全面掌控产品研发的过程,调动各部门的资源处理研发过程中出现的各种问题,组织跨部门的评审活动等。这些工作内容要求项目经理必须具有对产品团队中其他职能部门进行指挥和监督的权利。而 X 公司的情况是研发项目经理通常由技术部门的领导担任,很容易出现权责不对等的情况,导致研发项目的管理工作执行效率低,不利于项目管理工作的推进。项目经理的职权限制在研发部门内,所以没有相应的权利来保证其他部门配合工作。由技术部门主导的项目管理工作没有贯通产品研发的全过程,在需要市场部门,客服部门等非技术研发部门提供各种资源支持时,项目经理就要和各个职能部门的领导频繁沟通才能得到授权,使用其他部门资源。项目管理工作执行不力严重影响了公司对市场变化的及时响应能力和跨部门决策能力。
所以,要对组织结构做出相应的调整,设立专职的产品管理部门,设立产品总监职位负责制定公司的产品战略并按照各个产品项目的需要统筹内部资源的调配。产品管理部门任命产品经理并授权负责具体的产品项目,与各个职能部门沟通,协调统筹产品的研发工作。产品项目组的成员可以根据需要从各个职能部门选派,但进入项目组做后直接由产品经理的领导和管理,产品经理拥有足够的职权指挥和调度各个职能部门的资源。
最后,为了避免出现部门之间相互推卸责任的现象,新的组织结构设计要明确各个职能部门的职责与考核指标。如前所述,软件研发过程不是一个简单的线性顺序流程。各个部门都要在开发过程中发挥作用,不是被动的等待其他部门的工作完成,而是要主动配合其他部门的工作。这就要求公司管理层重新理顺部门间的关系和责任,并制定明确的部门职责,由部门经理控制和监督相关职责的落实情况。部门经理要树立整体目标的观念,公司产品的目标大于部门的利益。在相关的绩效考核中也要加入部门配合程度相关的指标,对职能部门成员的绩效考核中既要体现出职能部门的专业水平的提高也要考虑该部门在具体项目中的表现,由产品经理给出指导意见。避免在部门之间推卸责任,使得各个职能部门把产品研发的目标和自己的切身利益联系起来,真正融入到产品开发中来。
5.2 X 公司组织结构的改进
为了解决以上提到的组织环境的问题,X 公司着手对企业的组织结构进行改造。完整而高效组织结构既是成功实施集成产品研发流程的必要条件,也是提高员工专业素质的重要保障。X 公司对公司原有的组织结构进行重新设计,使组织要符合公司的业务发展和战略规划,新的组织结构要满足产品研发流程的需要,以流程定组织,流程中每项具体的任务都要有组织机构作为支撑。对原有的职能部门进行必要的调整,通过整合和细分职能部门,适应新流程的需要。
原有的职能型组织结构强调的是分工,各个部门关注自己的职能领域,容易形成“部门墙”。但是,集成产品研发流程则更加注重部门间职能的集成与团队的协作,无论是并行开发模式还是迭代开发过程,都需要组织结构的支撑。所以,对组织结构和组织运行过程的改进是解决组织环境问题、提高产品管理水平的有效途径。【2】
X 公司按照 IPD 组织集成的原则重新设计公司的组织架构,按照资源线和业务线构成矩阵型组织结构。
矩阵组织结构中纵向的资源线由职能部门构成。职能部门关注员工专业能力的提高和专业知识的共享,通过员工积累的宝贵的实践经验不断优化部门内的工作流程,提高员工在专业领域的工作效率。高素质、精通专业技术的专业人才队伍是产品研发战略的成功的关键。同时,职能部门为员工提供培训机会,并提供专业职位的晋升渠道,增强员工的归属感。职能部门在整个研发过程中作为专业资源中心而存在,为横向的业务线提供专业知识和技能的支持。
资源线基本保持原有职能部门的机构,但增加了以下部门:
(1)产品管理部:产品管理部主要负责统筹公司的各产品的研发管理工作;根据公司的战略和市场部门的调研数据制定产品战略和产品路线图;并针对具体的产品提交商业需求文档描述细分市场环境和产品的概念;推动产品研发项目的实施工作,监督项目的进度和完成质量,并组织商业评审;配合产品营销活动,提供产品的详细资料并与市场部门合作开展产品的上市宣传活动。在人员的安排上,部门的最高领导为产品总监,负责公司的宏观产品战略规划,协调各个产品和产品线之间的资源,保证产品战略按计划执行。X 公司从原来担任过项目经理的部门管理人员中选出对产品研发过程有深刻理解,并且愿意参与产品管理的专职产品经理,负责产品线和具体产品规划和相关部门间的协调工作。产品经理的职责贯穿于整个产品的生命周期,对产品的成功上市负责,并被授权可以开展跨部门的项目管理工作。
(2)产品设计部:从原来的技术开发部门分离出来的产品设计部是为了更好的提高产品的设计水平。随着软件和通信技术的发展日益成熟,技术规范趋于标准化,目前互联网产品之间的竞争,已经从技术层面转向用户体验方面。软件技术已经不是软件产品成功的关键,而如何更好满足用户日益多样化,个性化的需求,不断改进包括用户界面在内的用户体验设计,才是目前产品研发管理关注的主要问题,也体现了集成产品研发中的“以客户为中心”的理念。X 公司的产品设计部门的主要职责是开展产品用户体验的研究工作,包括用户交互设计,人机交互界面设计,产品易用性研究,提供向技术研发和市场部门提供易用,友好,美观的产品用户界面原型。
其他职能部门机构基本保持不变,但是重新定义各部门的工作内容,职能部门在原有的专业领域内为公司的业务服务,在整个 IPD 研发流程中确立各个部门的定位。虽然各个职能部门的具体职责不同,但是都对产品的研发负有以下责任:
注重培养员工的专业技能,充分发挥每个员工的才智为产品研发流程的顺利实施提供专业技术支持;按照和 IPMT 达成的协议分配人力资源,保证完成产品经理所分配的任务;落实部门发展战略,不断提升部门在专业领域的竞争力;明确定义部门的职责,并建立和其他部门的合作机制。
矩阵组织结构中的横向业务线主要有由集成产品管理团队(IPMT),集成产品开发团队(PDT),公共技术预研团队(IDT)组成。业务线强调跨职能领域的横向协作和职能的集成。在整个产品研发工作流程中发挥各个职能部门的专长,组成协调的跨部门的工作团队,消除部门之间的隔阂。在集成产品管理团队的领导下群策群力,集中各部门的力量解决研发中发现的问题。X 公司业务线的组织设计以集成产品研发流程为基线,产品经理根据实际产品项目的需要组成集成产品开发团队。职能部门将人员派遣到集成产品开发团队后,由产品经理直接领导,随着产品开发进程的发展,PDT 更具实际需要进行人员的调整,人员返回原来的职能部门。在矩阵组织结构中的员工在组织结构上隶属于职能部门,而工作内容属于 PDT 的职责范畴。所以,对员工的考核指标既体现出职能领域专业水平,又要反映出员工在 PDT 中的贡献程度。目前 X 公司对员工的考核采取职能部门经理和产品经理协商的办法,且以 PDT 中的指标为主。此外,员工可以选择横向的业务(商业)类职位的晋升路径,提升自己的在具体业务领域的能力。
整个业务线分为两个层次,决策层由集成产品管理团队和公司高管组成,实施层由针对不同项目成立的集成产品开发团队(PDT)和技术预研团队(IDT)组成。
5.3 集成产品管理团队(IPMT)
集成产品管理团队是一个公司管理层常设机构,由来自于各个职能部门的主管组成,共同参与决策过程。职能部门的主管拥有相关职能领域中最大的权利,所以可以快速做出决策,保证决策的质量和执行效率。产品总监担任集成产品管理团队的负责人,为每个产品项目选派产品经理。
集成产品管理团队的职责包括:按照公司总体发展战略并结合市场管理流程所产生的市场调研数据,制定产品发展战略并监督战略的落实情况;制定针对细分市场的产品计划,并根据企业自身资源情况评估风险,确定产品研发的优先级;推动研发工作流程的持续改进和优化,培育和提高企业的核心竞争力;对于通过评审过程的产品研发项目授权成立研发团队,并为研发团队分配资源,保证各个产品项目顺利实施;对各个产品研发团队进行管理,对研发团队进行激励,以保持团队的高绩效水平。主持 IPD 研发流程中的商业评审,评估项目的可盈利性,有权决定继续项目投资或者终止项目;监督项目的进展情况,保证项目的进展不偏离业务计划;协调各个 PDT 和职能部门的资源,及时处理问题;开发团队对影响产品研发进度的重大变更上报管理团队,集成产品管理团队可以授权变更产品发布计划;配合人力资源部门建设横向的职位晋升渠道,对产品管理人员进行选拔和培训。
5.4 集成产品开发团队(PDT)
跨职能领域的集成产品开发团队是产品项目开发的实施机构,团队的责任是尽快的把高质量的产品推向市场。PDT 是由 IPMT 授权成立的,是针对每个产品而成立的虚拟化组织,不是一个常设组织。PDT 随着产品立项成功而设立,在产品发布后撤销。PDT 团队的规模是随着项目的推进而变化的,人员的构成也是随着项目不同的阶段而调整。在产品概念阶段,只有来自研发、市场、售后服务、财务部门的主管组成核心团队,代表所在部门执行早期的项目调研和编写项目计划的工作。如果立项成功,则在 IPMT 的授权下对 PDT 进行人员的扩充,由各个职能部门选派成员进入 PDT 团队,实施具体的研发工作。PDT 核心组成员负责监督和协调本部门派遣到 PDT 中的成员的工作。这种分阶段的团队组合方式可以提高资源的利用率,特别是在产品研发初期可以加快决策的速度,避免重复对各种立项资料的审批。
X 公司 PDT 团队的成员由产品经理统一领导和管理,各职能部门为 PDT 团队提供专业知识、技能的支持。IPD流程中明确定义了产品研发各阶段的工作内容,所以在研发的各阶段需要不同的职能部门提供人力资源支持。PDT 团队的产品经理根据当前阶段的工作内容所涉及的专业领域将具体任务分配到相关的团队成员,而暂时没有工作的 PDT 成员可以返回原来的职能部门,以此来保证人力资源的高效利用。而且,在 PDT 内所有部门的地位是平等的,共同决策,共同承担研发产品的责任。PDT 在组织结构上打破了部门间的隔阂,消除了团队之间相互推卸责任的可能性。由于 PDT 的成员可以是专职的也可以同时为多个项目服务,所以,如果在此过程中发生资源的冲突,如多个 PDT 团队同时需要同一个部门的支持,则由相关团队的产品经理和职能部门主管协商,调配人力,避免延误项目的进度。
集成产品开发团队(PDT)的职责包括:对产品成功上市负责,保证产品在可用性、可靠性、可维护性、可获得性等方面的全面满足用户的需求,而不是仅仅在技术水平上领先;集成各个职能部门的专业知识和技能,保持和各个职能部门的密切联系,定期向 IPMT 和职能部门汇报项目的进度,并对职能部门的工作做出绩效评价;围绕决策评审点和项目计划开展工作,并配合 IPMT 的各阶段决策评审,提交评审材料和必要的产品原型;必要时可以主动和各职能部门主管沟通,以寻求在专业领域的支持;对研发过程中发生的重大变更(如行业法规,合作伙伴的变化)做出集体决策,并上报到 IPMT 进行最终的裁决。负责制定产品项目具体的开发进度表,代表各职能部门领导,共同对问题做出决策;负责对PDT 成员的进行绩效考评。
5.5 公共技术研发团队(IDT)
X 公司针对公司内部的公共技术组件研发工作,从技术开发部门选择经验丰富、技术水平优秀的研发人员组成公共技术研发团队(IDT),专门负责技术预研和通用软件组件的开发工作,并为 PDT 提供必要的技术指导。X 公司的数据储存平台,网络通信组件等一些关键且研发周期长的基础功能组件,就是由平台技术预研团队研发的。公共技术研发团队通过分析公司的产品战略,评估公司在未来几年甚至更长时间内的技术需求,以此为依据开展技术预研活动。平台技术预研团队隶属于研发部,由研发部经理直接领导,并且团队的人员编制固定,一般不会介入具体的产品项目的研发而被派到某个 PDT 中。公司会提供技术预研所需要的资源作为固定的研发投入,提高公司的技术研发能力。在技术难关久攻不克的情况下,公共技术研发团队可以从公司外部聘请相关领域的专家学者参与研发项目,提高技术研发的成功率。
公共技术研发团队的工作性质决定了预研团队的绩效考核和普通的PDT是有区别的。PDT的考核是以研发成果的市场表现为导向的,如果产品市场表现不佳,甚至上市失败,则对产品经理和整个 PDT 的考核有很大的负面影响。而公共技术研发团队的考核虽然也关注技术研发的成功,但是更加注重研发过程,目的是营造一个良好的技术研究氛围。因此,在考核指标的选择上更多偏向对技术本身的评价和工程师技术能力的提升,比如技术的通用性、技术的可迁移性、技术的实用性、工程师的工作效率的提高等。毕竟技术研发工作是一个相对漫长和艰苦的过程,所以考核指标的设定中要避免急功近利的倾向。最重要的一点是技术预研工作是具有创新性和开拓性的,所以允许失败,这是由技术研究工作本身的特点所决定的,也是公司鼓励技术创新,鼓励研发人员不断尝试新技术的一项重要举措。
公共技术研发团队(IDT)的主要职责包括:制定技术预研计划,并编制技术规范;公共技术组件库(CBB)的开发和维护;基础软件技术和算法的研究和开发;组织公司内部的知识共享和培训工作;参加专业领域内的技术交流活动,跟踪最新的软件技术的发展情况和研究成果的转化;指导 PDT 在实际项目中运用公共组件;评估技术的成果的运用情况,不断改进和优化公司的技术架构。
5.6 X 公司研发组织运行的原则
为了保证 IPD 流程的顺利实施,在对组织结构进行改造的同时也必须确立研发组织运行的原则。从静态和动态两个方面保证研发组织的设计合理,并且运行高效,对整个企业研发工作提供强有力的组织支撑和保障。X 公司研发组织的运行遵循以下原则:
(1) 统一指挥原则
企业实行矩阵型的组织结构的最大问题是容易导致一个员工有多个上级领导,破坏统一指挥原则,在组织内部造成混乱。为了防止出现这些为问题,X 公司规定,进入 PDT 团队的成员由 PDT 团队的负责人(产品经理)负责管理和分配任务,原所属职能部门的领导原则上不干预员工在产品项目中的工作。职能部门对 PDT 团队提供专业技术支持,PDT 成员的组织关系仍然在所属部门,参加原部门的例行活动。PDT成员的工作汇报直接发送给产品经理并抄送给职能部门领导。
职能部门主管与产品经理共同负责对员工进行绩效考评,部门主管通过和员工所参加的产品项目的产品经理沟通,对员工在项目中的工作表现进行评价。
(2) 目标一致原则
这是 X 公司对研发组织进行重新设计的出发点。一致的目标可以最大限度地激发团队成员潜能,使每个成员清楚的认识到自己对团队的贡献。在研发工作开始之前,X 公司的 PDT 内部必须对将开发的产品概念达成一致的认识,在产品立项说明会上设定明确的研发组织总体目标。对目标进行分解成可量化的,可考核的绩效指标,并落实到团队的每个成员。研发团队在运作过程由产品经理有责任监督 PDT 成员的工作进展情况,确保成员的个人工作目标始终和组织的目标保持一致。从部门间的关系来看,产品经理也有责任协调各个职能部门的工作,使各个部门对研发的目标形成统一的认识,共同努力把高质量的产品推向市场。因此,目标一致原则可以从根源上消除部门间的隔阂,使各个部门围绕产品研发任务发挥专业优势,提高部门之间协作的效率。
(3) 能力互补原则
专业能力互补是在选择研发团队(PDT)成员的主要依据,也是影响研发团队绩效的关键因素。虽然研发团队中成员的专业能力很高,但是个人的知识结构、学习理解能力、经验背景等方面存在着较大的差别。这就导致了团队成员不易获得自己领域外的专业能力。因此,团队成员不仅要在自己的岗位上尽职尽责,还要与他人合作,通过互补互助的方式解决各种问题。团队的能力来自于团队成员专业技能的互补和优化,各阶段产品开发流程需要多种专业技能的支撑。团队成员的专业技能互补有助于形成团队核心能力的形成。而且,在研发的不同阶段,PDT 工作的重点是有区别的,比如在概念阶段,更多的是市场团队发挥作用,而在开发阶段,研发和测试部门则负责大部分工作。所以,PDT 团队在实际工作过程中要根据研发工作的内容对团队的成员构成做出调整,满足开发过程对团队成员能力的需求。X 公司已经对 IPD 流程中各个阶段所需要的资源和团队能力进行了详细评估。在具体研发工作中,IPMT 会从相关的职能部门选派专业人员进入PDT,保证 PDT 团队获得所需的技能。PDT 也会根据实际项目的执行情况,向 IPMT提出资源申请,弥补某些方面能力的不足。
(4) 团队规模与能力匹配原则
由 IPD 研发过程可知,研发团队的人员结构和规模不是一成不变的,团队规模与能力匹配是一条重要的原则。随着研发项目的推进,研发任务对团队的业务能力需求也不断增强,团队规模要随之做出调整。尤其是在详细设计和技术开发阶段,各种产品设计和技术细节问题不断涌现,PDT 需要通过向各个职能部门请求资源来满足产品研发工作的需要。如果对团队的规模不加以控制,那么这种团队的运作方式会导致团队迅速膨胀,而团队的能力却很可能下降。因为过多的人员的会使得团队内部的关系变得更加复杂,造成团队工作节奏紊乱。过度膨胀的团队也会导致内部沟通问题、小团体问题,团队的凝聚力、信任感、决策的质量和工作效率也受到影响,而这些因素是一个优秀团队必须具备的,也正是实施IPD 研发管理要解决的问题。
要控制团队过度增长的另一个原因是 X 公司实行产品经理负责制,产品经理要管理各种专业人员,协调整个 PDT 的工作,所以团队的管理跨度不宜过大。过大的跨度会使得产品经理忙于应付各种沟通问题,无法将精力集中于产品的设计开发工作中。虽然可以增加产品助理的职位来分担产品经理的一部分工作,但是过多的人员配置仍然会影响产品经理的管理效率和质量。X 公司在长期的产品研发工作积累的团队管理经验表明,一个研发团队的人员配置应该是 8 至 10 人,最多不超过 15 人。在这个范围内,产品经理可以有效的对团队进行管理,团队成员之间的沟通和协调也比较容易,团队的绩效表现可以保持在较高的水平。另一方面,为了应对研发工作的复杂性,保证团队规模和能力的匹配,X 公司对 PDT实行了分层的组织结构设计,由各部门的主管组成 4 至 5 人的核心团队,控制各职能部门选派到 PDT 的人员数量,并鼓励在研发过程中使用公共基础组件(CBB),减少不必要人力资源浪费。