时间: 2021-07-30 11:49:56 人气: 8 评论: 0
本文作者根据自己的创业经历,分享了项目管理以及产品版本迭代的相关经验。
18年3月份,接到一位创业兄弟的邀请,加入团队负责项目管理流程的规范,他表示:
现有项目的开发流程太乱,项目交付太慢。
刚开始接到这个需求,我的内心是很虚的,只有一年工作经验的PM Dog,哪有能力搞这么高大上的东西。
虽然顾虑重重,但想体验创业快感的我,还是硬着头皮上了,毕竟,万一失败了,亏的又不是我的钱……哈哈(奸诈脸)!
由于该公司扎根的垂直领域圈子太小,为了隐私起见,下文对该公司简称为:A公司。
A公司是在某个垂直领域做专业的解决方案供应商,目标客户群体是大集团企业,项目周期一般是1年左右。
接手这个团队的时候,团队有20来号兄弟,其中市场部主要负责项目的同事有三名,大概了解了团队架构之后,我就询问市场部同事当前的项目管理流程。
他们是这么说的:
跟客户拿需求过来,如果自己无法评估技术的可实现性,就拿回来给研发,实现性没问题,就做……
然后我又去问了研发,研发的兄弟们是这么说的:
市场部那边,老是一句话需求,剩下的自己脑补,真让人吐血。有的时候,突然就来了个需求,明天就要上线,措不及防又是一顿熬夜赶工,交出一个应付性版本……
最后是技术部的兄弟们,他们是这么说的:
上线的版本老是不稳定,有的时候还没有测试就上线了,功能都跑不通,一脸懵逼。产品体验太差,运维压力太大,顶不住……
通过一轮的访谈下来,需求的流向看似很健康,由:市场->研发->技术->市场,其实幸亏兄弟们关系铁,不然早就拔刀相见了。
第一、开发流程问题:没有对客户的需求进行“反馈式确定”,由开发人员直接做逻辑设计兼开发工作。
比如客户说,我要做库存管理。这一句话需求,有可能出现什么情况呢?
我方:哦,库存管理,那就做一个台账,显示客户的库存,再加个“增查改删”,OK,搞定。
看似考虑得挺周全,其实还是有可能与客户的想法有出入的,比如:
更多的可能有:台账是否具有排序功能、台账是否需要库存预警、库存预警阈值是否可自定义设置等等。
很多细节性的功能就这么忽略了。
如果你说,我们多替客户考虑,把我们能想到的功能都做上去,这样很容易造成开发资源的浪费。
如果做不到位,就**造成返工,客户对我们不信任,为后续的合作埋下隐患等等。
正确的做法是:
新增原型图评审环节:
就客户提出的需求,根据我们的理解及专业性判断,输出原型图,跟客户一起评审确定。
如果我方对功能的设计有疏忽之处,在原型图阶段就进行修改,直至满足甲方真正的需求,完成签字确定,再投入开发。
这样做的好处是:
这样就解决了一句话需求研发脑补、返工、功能跑不通、体验性太差的问题。
第二、项目迭代节奏的问题。
创业公司人少事多且繁琐杂乱,现在的市场部同事并非纯真的项目经理。只是他们把东西卖给客户了,客户有什么诉求,第一个找的肯定是他们。所以慢慢的,他们也就成为了所谓的项目经理。
在这个背景下形成的项目经理,有以下特点:
基于这点,我觉得职责需要明确,所以就以公司的名义发了封正式的公告,任命其为项目经理,对项目负责,需要把控项目的迭代节奏。
这样也就解决了紧急需求的问题。
基于以上的问题,我就做了以下三点措施:
关于埋点分析,来源于老板的诉求:大家看起来都很忙,但项目交付太慢,导致回款出问题;
上图是我之前做产品时的项目管理经历,就想把它借鉴过来,记录下项目人员的投入分布图。
另外,给新入职产品/项目管理的童鞋一个建议:好好管理产品/项目的迭代历程,便于自己总结回顾并针对性地提升自己!
产品上线以后,跟进用户反馈、埋点数据分析,以便更好地进行下个迭代版本的设计,不断靠近产品的目的。
关于埋点数据的采集,我是让每个人以日报的形式发给我,我再进行整理,归纳到项目管理表中,最后得到了以下分布图:
慢慢的,我觉得不太对劲:我都没有接到需求,但研发的同事一直在开发的路上。
更加奇怪的是:研发一直在不停的开发,但项目验收情况依旧不容乐观。对于一个初创团队来说,研发是一个比较重的开支,所以必须得搞清楚里面是什么原因,达到开源节流的目的。
于是我就梳理了一下记录,发现很多的工作都是在:修改、修复、优化,而且极其碎**化。
经过深入了解,原来都是在补之前的坑。比如之前给客户做了一个功能,主功能能跑通,但忽略了其他的异常情况,客户到现在才发现,就得进入紧急修复状态。
我也回访了一下各部门的同事,得到以下信息:
另外,我发现了研发同事有一个问题:没有进行版本管理;
个人觉得没有版本管理,**有以下缺点:
综上所述,我总结下问题:
V1版本上线后,通过数据、用户反馈发现问题,就得设计一个新版本,来解决V1版本出现的问题,我把它定义为V2。
针对以上问题,我做出了以下措施:
1. 协助项目经理组建自己的小团队,由项目经理一个人主责变为项目经理主责、团队成员担责。
之前是项目经理跟研发同事提需求,有时候无法具体到给哪位研发同事提需求,造成沟通成本的浪费及事后推责等问题。
现在我就为每位项目经理都配了一名研发、技术同事,这样从项目经理、研发、测试、运维整个落地闭环就形成了,形成了N个作战小部队。该作战部队,由项目经理掌舵,其他成员积极配合,如果该团队负责的项目出现了问题,项目经理担担责,其他团队成员担小责。
2. 为了保证需求的流转记录,推出项目管理工具:禅道。
之前对于需求的流转,项目经理疲于督促管理,口头的流转存在很大的扯皮隐患,需求的流转记录急需立字据。
经过项目管理工具的调研,大家对禅道的应用比较感兴趣,所以选择了禅道作为项目的管理工具,并制定了以下管理流程:
这样整个需求的流转清晰了,大家有迹可循,避免信息的沟通失真。
3. 版本的管理
在我们的系统上线【版本日志】界面,并全员分享版本管理的好处。
经过V2版本的优化上线,基本解决了以下问题:
1. 项目管理不再是一个人的责任,而是一个团队的责任,营造了团队的作战氛围;
2. 需求流转可视化,降低沟通成本,避免信息的传递失真;
3. 增强版本管理意识,增加版本迭代日志,建立自己的迭代节奏。
经过两个版本的迭代管理,基本解决了项目的管理问题,只留下一个问题暂时没有办法解决:填之前项目的坑。
本来想着该问题只能随着时间的推移慢慢得到根治。
不过随着时间的推移,我觉得问题,并没有那么简单:来自旧项目上的需求源源不断,验收却迟迟没有进展,项目款回收比较困难。
经过了解,原来之前签的项目,需求颗粒度是很粗的,后续进场开发也没有进行详细的需求调研、需求确定等,都是跟客户口头确定大概要做成什么样子,再根据自己的判断做出来,交付给客户。
客户试用,有问题,提,我们改,一直如此的重复。客户也不**轻易签字,毕竟一签字,再开发就需要另外付钱了。
这就造成了之前提到的问题:需求不断,开发很忙,项目交付却很慢,而且需求极其碎**化,用户一**需要加这个字段,一**儿需要新增判断逻辑等等。
更致命的是,我们的专业性**慢慢的被磨没,直至客户说什么,我们就做什么,客户不说,我们也不**主动跟进。
目的地都无法确定在哪里,漫无目的地走着效率是最低。
我就跟各方同事确定,最后在市场部的同事那里得到了本质信息:手头没有“菜单”,所以客户要什么,我们就答应做什么,项目亏不亏我不管,我们的任务是把项目签下来就ok。到时候做到什么样再去走“商务”,也就是靠关系。
这个让我大为惊讶, 我觉得我们做生意是平等的,你给我钱,我为您提供服务,必须要把账算清楚了,而不是靠走后门、