关于我们

跨公司多团队协作实践,让项目更加高效
2018-01-12

导读:

随着公司业务发展日新月异,会经常出现跨公司涉及多个团队共同协作的对外合作需求。在这个背景下,项目经理在项目中的角色愈发显得重要。作为项目经理,在跨公司多团队协作对外合作需求中,其价值和贡献体现在(包括但不限于)如下几个方面:

对外而言,项目经理代表了公司的voice,是对外合作需求中爱奇艺的对外接口;

对内而言,项目经理的工作重点包括:

[1]促进和保证产品经理产出所有团队共同认可的最优产品方案;

[2]与各团队干系人沟通,制定合理的项目进度安排,并对前期识别的风险点制定风险管理计划;

[3]在项目实施过程中,保证各团队按照既定进度落实开发和测试,并妥善处理需求变更的情况,保证需求按计划交付;

笔者在前不久发版的移动端APP中,作为爱奇艺项目经理,完成了与重量级互联网公司合作的较大型跨公司多团队协作项目。整个项目从双方对接到项目交付,历时两个多月,涉及多个团队。项目成员包括爱奇艺移动端、H5前端和云端后台产品、开发、测试团队,以及友商移动端和后端各团队。在此,通过对此次项目实战过程的回顾,对跨公司多团队对外合作需求的项目管理方法做一次心得分享,希望对读者有所帮助。

笔者认为,对于跨公司多团队协作的互联网项目,将项目划分为计划阶段、实施阶段(包括开发和测试)和交付(部署)阶段,对各阶段的重点工作进行有针对性的管理,是保证需求按时保质交付的有效项目管理手段。各阶段在多团队项目管理中的重要性占比大致为:计划阶段50%~60%,实施阶段30%~40%,交付阶段10%~20%. 本文通过项目实战,针对这三个阶段中项目经理的工作重点和注意事项进行阐述和总结,期望对项目管理者进有所启发。

一、计划阶段

计划阶段之所以在整个项目中最重要,是因为跨公司多团队协作项目往往都非常复杂,公司内外各团队开发测试互相依赖,并有可能掺杂部分不确定因素。因此需要一个完备的项目计划来解决这些问题。作为项目经理,应确保在计划阶段尽可能考虑周全,确保方案评估充分,识别风险点并做出应对措施,制定合理项目排期,最大程度地降低实施阶段的风险。在计划阶段,笔者总结项目经理的重点工作如下:

1.确定项目方案

确定项目方案需要各方干系人共同对方案进行评估讨论。笔者认为,在做到高效沟通的前提下,跨公司多团队协作项目经下图所示的四次对接,可确定最终项目方案。作为项目经理,由于对外合作需求的重要性和复杂性,建议从外部产品经理对接时即参与项目,可对项目背景了解得更透彻,并结识友商相关人员,为后续沟通建立良好的基础;如果时间不允许,则至少要参与并主持最后两次内部技术对接和外部产品技术对接,这对后续识别项目风险、确定项目排期至关重要。

在笔者负责的项目中,通过组织相关人员进行对接,双方先后识别出iOS下需求实现受限、原方案安全等级不足等重大问题,对最终产品方案和技术方案的确定起到了非常积极的促进作用。

上图中列举了四次对接的内容,并对每次对接的产出进行了定义。现针对每次对接详解如下:

1)外部产品经理对接:双方公司产品经理先进行初步对接,产品经理产出可供双方讨论的产品文档初稿。此文档通常是high level的产品文档,不应涉及内部产品方案细节和技术方案;

2)内部产品经理对接:如果需求涉及多个内部团队,且为不同产品经理负责,则需求方产品经理需与内部其他团队产品经理对接,确定其他团队的产品方案,形成内部产品方案初稿;

3)内部技术对接:在内部产品方案初稿产出后,项目经理需组织内部所有产品、开发、测试团队相关人员对需求进行评审,并加入安全组人员参与会议,避免在项目后期由于安全审核问题造成方案变更。此外,根据笔者的经验,在多团队协作项目中引入架构师角色,对整体技术方案进行review是非常重要的。原因很简单,各团队都认可的技术方案并不一定组成最优的整体解决方案。此次对接后,内部产品方案和技术方案可初步确定,产品经理应产出更新的产品文档;

4)外部产品经理、技术对接:在经过内部技术对接、最终产品方案已初步确定后,此次对接应包含双方公司所有相关团队的代表,对项目整体方案进行讨论和确认,明确双方各自的职责和分工,并最终产出双方均认可的外部产品方案和技术方案。随后产品经理需产出最终内部产品方案,技术团队产出最终技术方案;

2.识别项目风险

在项目方案确定过程中,项目经理还有一项重要的职责,即带领项目人员对方案进行充分评估,识别出项目中存在的风险,并有针对性地制定风险管理计划。

在跨公司多团队协作项目中,往往存在着公司内外部团队之间开发相互依赖、联调时间不确定等共性项目风险。针对这些共性的风险,笔者总结出有效的应对方案如下。

1)内外部团队启动开发有依赖:对于对外合作项目,内部团队启动开发可能依赖友商团队提供相应的数据或服务,如文档、接口、用于内嵌的SDK等等。项目经理应在双方对接过程中,详细记录所有的依赖项,并逐一向对方确认可提供的时间点,并清楚告知对方未能按时提供造成的风险(如提测质量下降、项目延期等等)。在项目实施过程中,项目经理也应定期联系对方,检查依赖项的进展情况。如有不能按期提供的风险,则应及时highlight给所有项目成员,并寻求资源支持力保依赖项按原计划提供。

2)联调时间不确定:对于跨公司多团队协作项目,往往是一个团队开发完成后,要与多个内外部团队进行联调,精确的联调时间很难在排期时确定。笔者的应对措施,一方面是从排期上尽可能给双方联调提供充足的时间,另外一方面是将各团队间联调细化分解成多个联调任务,有任何两方可联调时,都先进行联调。当所有团队开发完成后,再进行双方整体联调。在笔者负责的项目中,当笔者向对方公司团队提出联调计划和支持时,对方颇有异议,认为联调次数太多。而当需求落地后,现在回过头来看,当时笔者的坚持是多么的正确。在需求开发过程中,双方每次联调都碰到不少问题,而且外网测试环境的部署也影响着联调时间,甚至还出现了开发和测试人员周末加班支持联调的情况。总结下来,笔者的感触是,对于跨公司多团队协作项目,留出充足的联调时间、把多个联调进行细化分解,都是有效降低后期实施阶段风险的重要措施。

3.确定项目整体排期

在项目方案确定并对项目风险制定风险管理计划后,项目经理需提供项目的整体排期。在对外输出排期时,一般只提供关键时间点;对内则需向各团队提供详细的项目排期,保证所有方清楚项目整体流程,避免出现各自为政的情况。一、导读

对于对外合作需求,笔者建议先收集内部各团队开发测试工作量,而后与对方进行期望落地的时间点进行沟通。在双方达成一致后根据各团队工作量以及事先确定的依赖关系,进行倒推来进行整体排期。在项目的整体排期上,需明确所有风险点的时间安排,如对方提供依赖项的时间点、联调的安排等等。

在本次项目中,在笔者与内外部各团队进行沟通确认后,给出如下整体排期并经过所有方确认通过。

二、实施阶段

在经过周密的计划后,项目进入实施阶段。在实施阶段,项目经理主要担负两方面的重要职责。第一是保证各团队按照排期按时完成开发、联调和测试,第二是针对开发中的需求变更作出合理的应对措施。

对于第一点,笔者认为无需过多赘述,跟踪排期是项目经理的基本职责。项目经理可通过各种措施,如每天晨会、定期检查状态、使用项目管理工具等,保证各团队进度正常。

但是对于第二点来说,由于跨公司多团队协作的对外合作需求通常来说都比较复杂,即使前期预案做得再周到,仍然有可能在实施的过程中出现突发的状况。作为项目经理,在前期项目和方案都经过双方确认的前提下,应当尽可能避免需求变更。但同时也应避免过于坚持原则拒绝任何变更,影响双方合作关系的情况发生。

针对需求变更,笔者的原则是:尽量在不影响整体排期的基础上来应对。比如是否可以通过人员加班解决、是否可以根据迭代思想将新方案安排到后续版本进行二期开发等。

在笔者负责的项目中,在实施阶段先后出现过两次不同类型的需求变更。第一次是在开发过程中,发现对方在双方对接时并未提到的一个产品形态影响最终的产品方案,并且无法在短期内进行更改。第二次需求变更是在开发阶段,对方开发提出对技术方案进行优化和小幅调整。为此,在经过与各方干系人进行沟通和评估后,在不影响原排期的前提下,笔者代表项目组作出砍掉第一次需求变更中部分产品需求,改为二期支持;同时支持第二次需求变更的结论。此举也得到了对方公司的认可。

三、交付阶段

需求交付阶段,即需求上线发版。在这个阶段,开发测试均已完成,所有bug已修复完毕,开发按原计划进行上线操作。

作为项目经理,要尽量保证需求按照原计划对外输出的日期上线。如果上线日期有变更,一定要及时通知到对方,千万不要认为早一天或晚一天上线无所谓。原因是对外合作项目代表着公司的形象,甚至对公司收入产生影响。如果交付的日期发生了变更又没有及时做好沟通,则会给双方合作带来非常负面的影响。

在需求上线后,项目经理也要及时通知对方进行验收,并给出验收结果。对项目经理而言,在对方确认验收通过之前,一刻都不能放松,要站好最后一班岗。

四、对外沟通

除以上各阶段的重点工作外,在各个阶段项目经理都担负着跟外部公司沟通的任务。在沟通中,项目经理应注意,任何结论都应通过邮件正规途径输出。并且为保证得到充分的外部公司资源支持,应从对接开始就确定对方公司的唯一接口人,由对方公司接口人负责调动外部资源,保证资源支持及时到位。

以上是笔者作为项目经理,在交付大型跨公司多团队协作项目后的一些心得和总结,希望对其他项目经理和相关人员有所帮助。总结下来,通过对计划阶段项目方案、风险及排期进行周密评估,在实施阶段妥善处理变更,在交付阶段确保验收通过,并保持与对方良好的沟通,则对于跨公司多团队协作需求,项目经理可做到游刃有余,一切尽在掌控。

返回