【导读】
日常项目推进过程中,我们总会遇到跨团队(跨部门)组织项目的情况,由于团队界限划分明确,汇报关系完全不同,组织起来令人十分头痛。对项目经理而言,这样的项目需要更系统的思考,以及更灵活的方式方法来推进。笔者根据自己在这方面若干个项目经验做了如下总结。
一、背景
首先交代跨团队项目项目背景:
1.组织结构
三个团队分别独立拥有:自己独立的业务团队,汇报关系,业务目标和产品。
团队A发起项目X并主导,三个团队协作完成合作项目X。
如图:
2.产品背景
项目X是要做一个平台类的产品,并支撑团队A/B/C的业务。
由团队A主导和规划,团队B和C将自己的产品接入这个平台产品。
二、项目痛点
诸如X此类跨团队项目在实际推进过程中会异常艰难,其本质原因有两点:
一方面,项目X是跨团队的虚拟组织,各个团队不存在共同而明确的汇报关系;
另一方面,各团队有自身的业务目标,项目X并不能与每个团队的业务目标一致,或者一致程度不尽相同,这就导致X项目对应的任务在团队A,B,C中的优先级不一致。
三、常见问题
由于存在上述的痛点,X实际推动中会出现许多问题,问题和对应可行的解决方案如下:
场景一:
问题:X项目已经开始,团队B和团队C抱怨不清楚这个项目的目标,感觉很多任务与目标无关;A推进的时候往往难以照顾三方共同的期望,变成无休止的三方争辩;由于还有自身业务任务,团队C会习惯性拖延/不启动X项目的任务,迟迟无法启动项目。
方法:策略上,项目启动前梳理项目目标,搞清楚X对于A/B/C三个团队分别的重要性是怎样的,三个团队通过X项目能获得哪些价值;找出具有共同价值的地方,也分清楚存在分歧的地方。然后从下述三个方面入手:
1、启动仪式:
召开项目启动会有助于澄清项目目标,分析项目价值,同时告诉大家,项目已经开始了。
2、逐个击破:
假如X项目对三个团队重要性排序是,A>B>C。对于容易出现分歧的问题,要按照重要性顺序(项目对哪个团队更重要,理论上这个团队更容易配合),逐一沟通确认,切忌一上来就三方会谈,放大冲突。
3、快速开始:
识别能直接带来价值的任务,拿这些任务作为搞定团队拖延性的敲门砖,把第一个任务快速做起来,一旦第一个任务开始,后续的事情就会陆续接上。这就好比多米诺骨牌一样,找到关键的第一个推倒,后面的牌就会顺着都倒下。
场景二:
问题:项目启动后,随着目标拆解,任务细化,整个项目的头绪会越来越多,团队之间的沟通也会越来越复杂和低效。甚至,有些问题的确认不知道应该找谁。
方法:按一定逻辑指定接口人,比如按照业务线来划分业务线接口人,一般可以由产品策划担当。这样团队和团队之间的沟通(多对多沟通),可以简化梳理为接口人之间的沟通(一对一沟通)。
接口人不仅需要承担对接的工作,一般还有自己的业务任务,因此要求较高,所以要时常关注接口人的工作情况和成效,遇到问题就要做出及时的调整。
场景三:
问题:项目启动后,在做计划的时候就遇到了问题,站在X项目整体的角度,要协调各个团队内部计划和X项目整体计划,但整合几份计划难度很大,做出一份可靠的计划十分艰难。
方法:跨团队项目推动高度复杂,已经谈好的计划也有极大可能变更,因此要分层次渐进明细的做计划,不断确认旧的计划,产生新的计划。
首先是一份roadmap,对整体的里程碑做梳理,共同敲定大的时间节点。
然后再根据里程碑拆解项目计划。一开始的时候只需要对第一个里程碑做计划安排,后面的里程碑只需要识别大致难点,安排同步的预研和准备即可。一个里程碑内的计划可能包含了一个或者多个跨团队的迭代,比如包含A的三个迭代,B的5个迭代。
最后一个层次是周计划,也可以叫做双周计划,梳理上周的计划完成情况,确定本周的计划。比如识别到上周有任务delay后,本周就调整计划来赶上,避免出现滚雪球的效应。
场景四:
问题: 从分析需求到功能上线,各个团队都有一套自己的流程,如果各个团队的流程互相之间是不透明的,那A向B提出的需求就像进入了一个黑盒,做的怎么样,什么时候做完,等等这些信息都靠低效的去【询问-回答-确认】来完成,不仅浪费时间而且存在风险。
方法:将各团队的流程透明化,明确各个项目内部运转机制,以便提前识别和管理风险。
举例:团队A向团队B提了一批需求,团队B将自身的需求流转流程通过一个可视化的平台展示给A,B的“需求讨论分析-需求池优先级排序-需求文档-排期-交互-视觉-开发-测试-上线”整条链路对A是实时可见的,A突然发现这批需求除了其中两个在交互中,其余都提交开发了,于是找来B确认,B经过确认后反馈说这两个需求交互做的很慢,根本原因是两个需求太过复杂,交互做的成本很高,一直在反复改稿,存在延期风险。A确认情况后决定马上简化需求,方便B的交互顺利出稿,最终两个需求顺利按期上线。
思考:
流程透明后,几方的协作会轻松很多,许多风险也能提前识别。但根本上来讲,各个团队自身流程是不一致的,互相配合的成本很高,如果要解决这个问题,最好的办法就是统一流程。
然而,统一各个团队流程基本是不可能的,但可以朝着这个方向从简单的地方着手。比如,可以先统一各个团队的上线发布时点,都固到每周四发布,那至少项目X各个节点的上线不会出现过多团队间互相等待的情况。再如,可以设置接口人的周会,将各个团队的项目状态同步固定到一个点上。
总之,跨团队的项目推进十分复杂,过程中处处是坑,我们要提高风险意识,推进过程中想方设法去提前识别和管理风险,才能最终拿到想要的结果。
(本文于2017-12-27首次发布)