阿里妹导读:在技术公司、尤其是互联网公司,技术人员作为PM(项目经理)是非常常见的。有些同学得心应手,有条不紊,能得到清晰稳定的预期结果;有些同学则在过程中遇到各种闹心的事,最后不是项目上不了线,就是带着问题或各种人员的不满硬上。当然这两种都是比较极端的结果。理性思考下,这里面有没有规律在?今天,阿里高级开发专家墨玖和你聊聊,如何做好一个技术项目的PM。
对于任何事情要有清晰的目标才能精确把握,如何做好一个技术项目的PM?首先我们看到这里面目标最起码应该是:如期交付有质量保障的项目产出。这里有几个需要我们注意的结果关键词:如期交付(守时守信)、质量保障(保质保量)、项目产出(完整结果)。当然还有最重要的因素:人+过程。阿里有句老话叫做:没有结果的过程是放屁,没有过程的结果是垃圾。所以,项目管理也是一样。我们既要结果,又要过程,当然,还要这里面人舒服。
这里我们再总结提取下目标:
接下来我们就按照项目的生命周期来看看以上目标要怎样才能更好地达成。
项目启动
项目启动重要点是需求宣讲,俗称画饼拉人。任何一个项目都会有既定的目标和预期,但是这个目标大家认不认?如何衡量结果好坏?做完后有没有成就感?这是项目后续成败的关键。所以你需要思考好这些东西,才能和大家宣讲、才能拉人干事。不然人家都不知道你要干啥、干了有啥好、为啥要(卖力)给你干。作为项目PM的你定义好项目目标、衡量结果(ROI)、人是尤为重要的。这里提几点建议和思考。
当你思考和整理好以上这些东西,才能做好项目(需求)的启动和宣讲。目前我们很多项目的组织方式,是由多个角色完成的。常见的方式是运营或业务或产品做了项目中的一部分或所有,然后到需求阶段再由技术同学跟进后半段。这个角色有多人共同分担并不冲突,重要的是我们要配合默契、衔接得当、相互补位,拿到共赢结果。
工作过程中我见到过激情澎湃的KO,也见过稀里糊涂到直接开车,所以生活(工作)还是需要一些仪式感。注意做好这些点,项目后面会顺畅很多。
需求评审
一般需(hua)求(bing)宣(la)讲(ren)完毕后,很快会进入需求评审阶段。这里是需求细化明确重要节点。作为一个项目PM你必须要做到小需求了如指掌、大需求合理拆分。这个阶段最好是个时间段而不是一个时间点。尤其是对于互联网,我们讲究的是快速,节约大家时间。你有必要提前深入介入,了解需求逻辑和范围。这里会遇到如下几类问题:
除以上问题外,对于大型的跨团队的项目可能当下是无法详细看清全局的。这就需要大PM在这个时候量力而行尽早分拣分派、划定二级责任人。在互联网公司,需求评审过不过一般都会提到需求沟通和宣讲。所以,需求评审一般是PM认同了项目目标和意义的,这个要特别注意。所以具有PM角色的你(们)要更多的做配合需求拆分细化、答疑解惑;而不是一堆问题瞎怼(这可以发生在宣讲或再靠前)。这里我提下几个重要的点。
完成以上后,项目人员也基本铺开了。接下来更多的需要并行。
项目排期
评审完毕后紧接着的就是再次的资源盘点和目标对焦,简要的 recheck 确保补齐。这时 PM 根据各负责角色工作评估做出简要排期和项目需求+参与方核对各方诉求,确定最终版本。这里也会遇到几个问题:
最后,项目排期要和各参与同学沟通清楚投入度和时间节点。一定要明确几个重要的时间点:设计评审、测分评审时间、提测时间、产品验收时间、发布时间(如果客户端还要根据不同端特殊情况分开列出)。同时排期过程中可能遇到的并行风险、人员资源风险及时对外同步。
设计+测分评审
设计之于项目隐患+后期扩展、测分之于项目质量风险的意义,技术同学想必都是非常清晰明确的。这不仅仅要求项目PM,对于核心的系分、测分设计人员也提出严格要求。务必保证:
对于技术型的PM,最好满足:
1. 项目中的核心设计者;
2. 业务 owner 或核心,其中一项。
这里主要是考虑到技术项目PM(实在不行要有核心设计人员)对于业务定型、技术定型在业务中后期的影响着实太大。
此阶段开始作为过程跟踪重要手段需要有常规的项目日报和风险提示了。建议对于工作日小于20人日的项目可以不用每天发项目日报,有风险及时同步即可。超过的最好每日有项目详细进度,根据项目复杂度不同粒度可以精确到单人负责的模块。重要的是过程跟踪+问题及时反馈解决。
研发过程
研发过程中一般大家精力都会集中在各自项目负责模块上。同时对于我们这种互联网公司,变化又是家常便饭。这里有个原则是信息跟踪和同步评估要充分。可能涉及到排期调整的,要及时沟通和调整。也要注意风险和项目范围把控。这时你可能会有如下帮助:
冒烟+联调+提测
大家都知道大多数的线上技术问题都可以在测试阶段提前发现。而PM要思考的是测试前我们能做什么?提测前的冒烟、联调包含了必要的单元测试、功能测试和部分集成测试。尤其是对于多系统联动的项目冒烟和联调的质量直接影响到测试效果和线上问题量。这里PM一定要提前沟通评估安排好时间控制和冒烟联调节奏,有必要的话集中闭关+小阶段目标设定可以实行。同时对于复杂的项目由于整体节奏和工作压力等原因参与人员很容易陷入自我流程和模块逻辑里。在联调阶段作为PM最好能设计出几个经典业务场景作为联调目标,对项目的整体质量做提早把控。重要项目特殊建议:
无论是作为核心开发还是纯PM,此阶段都需要主动去检查项目的研发交付程度。包含但不限于主业务流程、特殊分支逻辑等。你可以根据项目重要程度复杂程度来判断是否需要精细化。同时此阶段也很容易暴露缺失或错误逻辑。我个人做法是小型项目自己设计场景case走;大型项目联合核心研发测试一起设计场景case;同时注意对产品交互和 demo。
测试
项目到了测试阶段大部分的开发工作已经基本结束了。我们这里讨论一种场景是开发测试有不同人员执行。测试bug要督促做到日清,不能日清的需要有原因跟踪。本阶段一般也是code review集中阶段。PM应直接或间接的对于关键链路设计、流程日志记录、编码规范要着重把关 。同时产品发布+回滚方案在本阶段要做准备了。一般来说每个团队发展到2年后都会有比较规范的发布计划模板。这里我们着重提及几点PM要注意的事项:
产品验收
一般情况测试完成后就到产品验收环节了。这个过程有些同学可能就直接不问或者任凭产品验收结果做最后的质量兜底。这是极为不可取的,原因是一般的产品验收最多只会跑到整体项目 case 的30%不到,越是大越是复杂的项目这个比率越是低。产品验收的目标是检查产品功能完整性、产品体验,而对C的线上用户几乎会全方位无死角覆盖。所以这次是你产品(功能)细节问题的最后一次机会。考虑到项目成本+收益+重要程度,对于特殊项目需要单独的组织参与人员设计并执行内部验收,以确保多人更大范围的产品检验。
这个事情有两个重要意义:
1. 项目产品信心建立。
2. 项目产品功能体验review。
一般性的准备我这里也列举下:
项目发布
在以上阶段都完成后,就到了项目发布的最重要阶段。在准备好发布计划的前提下。要注意多系统联动的 发布时间节奏、依赖控制、风险控制、线上验证等把握。严格执行发布流程和回滚方案的同时,注意以下几点:
复盘总结
互联网公司,唯快不破。再快的产品功能发布 也需要回到我们最初的本源,目标有没有达成?所以回到我们项目起初制定的目标和衡量标准,需要有个目标达成总结。重要的点提及下
其他的补充
互联网公司有个很大的挑战就是,项目节奏压力。同时通过以上我们也可看到想要做好一个项目是需要付出很多的,有很多东西都是默默地背后的。项目也好,产品功能也好。都是人做出来的。再牛逼的业务宣讲、再清晰的目标设定、再精细流程把控最终都逃不过人这个核心的落脚点。作为PM你要时刻反思:
这是除了项目结果以外我们需要思考的。不仅仅是业务或技术,这是走的长远、是准备未来。
关于数据变更(结构+数据):包含表结构变更、数据格式变更、数据内容变更等 在系分阶段要同步BI(其他数据使用方),项目验收前要再次确认。
原文链接
本文为云栖社区原创内容,未经允许不得转载。