刚从iOS开发转PM的各种痛-工作总结

问题背景

我是2015年毕业,大四在毕业前我在ST做了半年的iOS开发实习,毕业后转的PM。在ST的这后半年里,由于公司还没有产品经验丰富的老大带我,所以一直没有经过系统的项目管理经验,没有真正完整的走一遍产品从0到1到2的流程。

我之前并知道在实际项目中,我需要扮演一个什么样的角色,我需要真正关注什么,我提供什么样的价值才能给公司带来最大的利益,我需要补充哪些知识,对此我一无所知。更别提我更适合做什么才能发挥我最大的价值。

为此我也参加了一些课程,也见了一些外界同行的大佬和大哥哥大姐姐们,他们给我的建议是多读书,应用在工作实践中,然而书读了,但是工作实践要如何思考?

如何养成工作思考习惯?

  • 先了解目标是什么
  • 再拆解每步该做什么
  • 每个步骤需要谁,要怎么做
  • 对比自己和优秀PM的做事方法,差距在哪
  • 思考ta为什么这么做
  • 行动中改变自己

具体工作遇到的各种痛

  • 第1周:接一个新项目的流程、具体工作细节;
  • 第2周:管理新项目:信息收集能力、信息整合能力、任务分解能力、项目把控能力、风险预判、每日立会总结;
  • 第3周:乱麻麻的需求,如何从0到1写产品文档?
  • 第4周:一团糟的产品文档怎么写的更好;
  • 第5周:主持产品会议的发现和学习;

第1周:接手新项目,不懂,什么也不懂!

一、接手项目的流程

  • 从0开始跟进项目,怎么接手,需要什么资料,怎么和别人要资料资源,怎么问别人;
  • 产品目标是什么,期限是多久;
  • 然后有了资料必须先确定产品定义:产品是什么,需要做哪些功能;
  • 再写产品需求文档;
  • 需求评审,需求定稿;
  • 然后指定开发人员;
  • 再安排开发周期,根据每人不同的工作指派任务;
  • 开发中按天检查任务,跟进项目进度;
  • 测试这边就去理解需求,编写测试计划,测试范围;
  • 测试用例设计、测试用例评审;
  • 开发完毕,根据测试用例执行测试计划;(测试各个阶段)
  • 发现bug提交bugzilla;
  • 确认bug修复,关闭bug;
  • 回归测试;
  • 编写测试报告及总结;
  • 编写安装文档和使用手册;
  • 交付,总结交付报告……

流程看起来和书中的差不多,但是实际落实到具体工作中,对什么也不懂的我来说还是很难的。

二、具体工作细节

(1)先学会收集资料和整合信息:

  • PM不能太内向,多走动,坐在座位上闷头思考是想不出问题的;多问人,索要资料,找相关的人去了解信息;
  • 从邮件和群聊中搜集客户需求反馈,记录到tower上;
  • 学会在邮件中寻找关键信息,挑出来;
  • 及时记录,不要拖延,让它变活,不要死记在本地或者一定要什么样的方式;
  • 学会用工具和大家交流时效信息,不要在自己的脑子里不释放出来;

(2)新接手任务需要做什么?

  • 收集好需求,自己整理整理;
  • 对新项目加深了解,下载来用、看看代码、看看文档;
  • 然后把想法和收集来的信息发出来,大家讨论,制定计划;
  • 确定优先级,什么是短期要做的,什么是后期再做的,有一个目标,要达成这个目标需要什么就去收集什么;

(3)表达要清晰可读

  • 描述的文字关键字:具体、清晰;
  • 需要让大家看得懂,无歧义;

(4)任何标准都需要量化

  • 必须有一个可量化到具体的标准,比如测试通过的标准是测试报告,哪些测了哪些没测,为什么没测,没通过的case因为什么不通过,是否有解决办法,是否下一版本修复,没修复的是否致命问题,是否公开给客户说明,加个前缀,给自己预留后路和余地;

(5)总的目标和阶段执行:

  • 需要有非常明确的目标,可量化的目标;
  • 如何从目前的状态走到这个目标,在每个阶段应该要做什么,再考虑要怎么做;

(6)团队驱动:

  • 让团队中的每个人为项目共同出力,被折磨还不觉得难受;
  • 因为每个人在做的是自己的事情,需要让他参与进来,感受到被需要,共同完成;
  • 如果有一些同学还没团队意识,就需要慢慢的培养,也不能着急;
  • 刚开始可以帮着他们去做,但是不可能一直在帮,必须让他自己做;
  • 团队每个人的自身能力也是一个问题,不可能要求能力都是50的人去做100的事情,只能忍,一点点去推进,慢慢提升所有人;

(7)项目把控

  • 需要逻辑条理非常清晰,非常细化到具体的每件事,该给谁做,把任务分配给谁;
  • 自己工作减轻,但是我们知道他们每个人在忙什么,把控进度;
  • 而自己就可以思考下一步计划;
  • 要掌握好一个“度”,在时间期限里,哪流程必须走完,哪些流程可以放水;
  • 放水的流程是否需要告知客户等等;

第2周:跟着老大管理新项目,还是不懂具体怎么做!

(1)信息收集能力:什么问题该问谁,怎么问?

  • 要问干这件事的人相关的具体信息:比如要问我文档,我能说一堆,因为我干这件事,问dev关于SDK集成,他也能说一堆;
  • 问题要很具体,才能获得更有效的资料,才能知道他能提供什么,怎么做;

(2)信息整合能力:

  • 从邮件里,从资料中,将所有需要的信息整合在一起;
  • 比如说这次的SDK的产品定义是什么,v1.0版本需要开发什么,需要完成什么,所有的资料都是有的,只是没有人去整理,每份资料都在不同的人的脑子里,都没达到信息共享;
  • 信息收集之后,需要整合,然后表达发给大家,让大家补充说明,这样才能出来一个更完整更明确的产品定义,不是PM一个人定义这件事,而是PM去收集和整合这件事,让大家来确认,你一个人是确认不了的!

(3)任务分解能力

  • 只要经历前两步骤,你获得了需要的信息,你确认了产品的定义和当前版本需要做的工作计划,这样才能有明确的任务列表;
  • 有了任务列表,才能对任务进行分解,分派给具体的人身上;
  • 否则你什么都没有,只给自己定任务和计划是没有意义的,PM不能把所有的东西自己扛着啊!

(4)PM核心能力:项目把控,按期交付

  • PM最重要的能力其实还是对整个项目的把控,按期交付才是最重要的;
  • 还有就是PM不要太过于完美主义者,不然是很杯具很崩溃的事情,给自己的压力太大,不做到完美就不发布,这样永远也没有1.0;
  • 信息的同步,防止信息走样~当PM都把思考存在脑子里不进行信息共享的时候,更悲剧,你所想的和大家想的还不是一个东西。

(5)风险预判

  1. 现在的开发人员分配是没问题,因为不是两套人员分别进行开发,但是要看的是测试的人,测试组是同一套
  2. 而且测试组只有2个人,
  3. 他们除了在我们的产品以外,还有其他两三个别的组的产品都要做,
  4. 我们今天必须先帮他们缕清楚他们的任务,不然他们会忙死,其实我们做PM的一开始要有一个风险预判,先提前做好准备,否则到最后才发现这个测试人员忙不过来,全公司一起忙,这些事并不是测试的错,是我们一开始的错;
  5. 所以现在是我们组的PM和另一个组的PM有竞争测试组的现象,要和对方商量,到底哪个优先级更高,哪边客户更急,然后给测试排期,说哪个先做哪个后做,不然他是忙不过来的,一周做10个产品的测试怎么搞嘛!
  6. 还有说测试的流程,不要只给他写一半的任务,要帮他补全了,不然他到时候只做了这一半又怎么办呢?

(6)每日立会

  1. 每人今天干了什么;
  2. 每人明天要做什么;
  3. 遇到什么问题需要大家讨论解决?

立会总结邮件:

  • 今天开会内容总结(项目进展状况);
  • 发现的问题:需要大家解决的问题;
  • 组内成员每人工作进展;

(7)其他

  1. 让我看她一直以来的邮件,是怎么进行项目管理跟踪的
  2. 下班后补充知识,多看代码,学安卓,甚至可以写一些demo,深入了解这些不懂的技术和相关的东西,深入了解bug,甚至深入了解算法知识;
  3. 有空和商务聊需求,看他们是怎么想的,需求具体是什么!
  4. 有一个总的关系图,项目目标,需要做什么,需要谁来做,谁做的是什么;我们依赖于谁来做,我们要去推进他们共同完成这件事,还要让他们做的开心~
  5. 当出现问题了,第一时间不要责备这是谁的问题,应该第一时间找谁来解决这个问题
  6. 强势虽好,但是也要形成自己的风格,不要一昧模仿;
  7. 情商高,拉个群,给我们加班的同学发了红包,鼓励大家辛苦了。
  8. 产品内职责做好,产品外帮大家做好!

插入和技术老大的谈话交流:

Q:很多事自己不知道该怎么进行,我要怎么真正融入到项目中还有整个团队中?很多事自己不知道该怎么做……

A:

  1. 团队融洽非常重要。
  2. 可以多看看书,看看用得较多的SDK,观察竞争对手;
  3. 收集客户需求,然后逐一分析;
  4. 观察线上数据,收集客户反馈,根据数据和反馈改进产品;
  5. 很多问题前期需要多调研,有可能早期就能以很低的成本解决;
  6. 当变成紧急问题需要处理时,最好让你和开发测试的同学站在一边,让大家觉得是我们一起遇到了这个问题,需要共同想办法解决。
  7. 哄人不容易,事情需要人做的,合适的人难找,总会遇到问题。遇到问题大家一起解决,氛围就会很好;

Q:可是遇到问题,我有时候感觉帮不上忙,我是不是没找到方法?还是自己不够深入了解?

A:这个就需要积累经验啦,万事开头难,习惯了就好了。


第3周:产品定义文档,看似简单,却怎么写都写不好!

活体SDK产品定义:

  • 概括:活体SDK是什么
  • 目标:区分活体,防hack
  • 范围:手机型号,系统
  • 描述:功能定义: SDK功能定义+Demo功能定义;
  • 交互图:线框、原型

把自己当做用户,我关注什么,有哪些点,然后用在哪儿—平台范围,需要什么环境

接口这部分不需要PM做,开发:接口文档(输入什么、输出什么、如何处理)

测试:看PRD做黑盒测试,看接口文档做白盒测试;


第4周:产品定义文档更改,还是不合格,理解不够透彻!

产品定义文档更改:

  • 整体流程需要画一个具体的流程图,用户->移动端活体SDK->云端的交互;
  • 内容需要细化,比如防hack,整个产品定义概述;
  • 分类需要清晰,比如背景知识和产品定义;
  • 需求列表和功能列表归类为功能定义,SDK和Demo要分开写;
  • 一些接口细节属于开发的定义,我们不需要涉及;
  • 还有每项功能定义需要分别提示什么文案,有什么交互细节;
  • 排版可读性;

第5周:开产品会议的注意事项

(1)我开完产品会议后,发现问题还是很多,分析:

  1. 需要提前预订好会议室,提前查看每个人的日历表,尤其是不可缺席的人的日历表;
  2. 需要提前准备好资料和投影,避免临时出问题耽误时间;
  3. 需要提前看好文档和提问的问题,了解会议核心讨论点;
  4. 需要针对撕逼的问题,有些不明确的需要会议明确,有些不懂的需要提前问清楚再提前改;
  5. 需要把剩余的不确定放在待定项;
  6. 提高开会效率:提前了解会议可能会存在的问题后续讨论,避免钻额外的细节而占用时间,不要每次开会都是2个小时。

开完产品会,修改文档细节,和任务排期。思考自己为什么对需求理解错误,以及对产品的理解为什么不够深入?

(2)大佬开的产品会议:

  1. 大佬们是怎么开产品会的,哪些值得学习的地方?
  2. 参考邮件的总结记录,不局限于格式,而是理解问题逻辑
  3. 会议高效率的地方在哪里?半个小时开完一场会议!比如会议之前,她先发邮件和大家阐明会议精要。根据不同的问题,先开一场算法会议,再开移动端的SDK集成会议,分开讨论交流更快。在开会时直接切入主题,说出本次主要讨论的目的,针对哪些具体问题进行讨论。然后挨个听大家的意见,如xx你的想法是什么;然后轮完一遍,找出问题,得出结论-解决方案,记录和总结,发送会议纪要。

~ 一个字-服。


感谢老大

最后,感谢老大带着我系统走一遍项目流程,也在具体工作中训我(教我),养成好的工作思考习惯~

老大从1月加入 ST 不到两个月,组建了公司的产品团队,真的很佩服她。在这一个多月的工作里,在她身上学到的非常多的东西。如果没有她的帮助,我可能不知道我正在做的事情是到一个什么层次,也不知道什么是优秀的、什么是低效率的做事方法。自己有时盲目的做一些无关紧要的事情,就是浪费时间!所以真的感谢cherry姐!

下面是她经常教我如何在工作中思考的记录,虽然被训的时候很丢脸也很沮丧,但是事后超感动,后来每次回想起她说过的每句话,脑海里都能记得她的语气和表情哈哈,下面原封不动把重点交流记录mark下来~

怎么通过别人的行为来学习ta的思考方式?

不论谁都好,我不可能一点点的教你们,我希望的是你们自己能尽可能挖掘身边所有人的优点和思考问题的方式,而不是说你们只看我一个人的方式。

除了看大家发的邮件中学习基本表达,还可以看人家的问问题采集信息和回答问题的思考逻辑,为什么这么回复别人,然后为什么别人这么解答,多想原因,才能慢慢培养出从各个维度来思考问题的习惯,积累一定量之后才能有比较好的解决问题的能力。

自学能力并不是说,你去看几本书,几个课程,或者几个邮件,几个项目就好像满足了,真正是通过这些实践,去训练自己的思考习惯和行为习惯。

通过别人的行为来学习别人的思考这个是我想教你们的。

为什么YM(另一个PM)厉害呢?面对问题她解决的效果如何?换做是你又如何解决?她是如何一步步解决的,理由是什么?


要多深度思考~

你是处女座前一天的狮子座,有某些地方确实和处女座很像

(我老大也是处女座)

比如我交代你做一件事情A,你会把A做到很好,但是为什么我经常还会凶你,其实凶你的不是说你这件事做的不够好,而是,我觉得你只是做好了A,而A后面更深的层次的思考就不够到位,当然经验有限,但是希望你能有这个认知去改变自己。

每做一件事的时候就要多想后面的事情,深层次的事情,这样才能真正意义上的成长。


总结:PM 的工作角色与职责

一、定位角色

首先要弄清PM在团队中的角色。PM是连接工程师和商务的桥梁,起到承上启下的作用。该角色决定了其六大职责:双向沟通、流程规划、分解任务、项目跟踪。

二、明确职责

  1. 【需求理解】根据领导安排的任务,确认目标和结果是什么,清楚理解需求。
  2. 【双向沟通】包括需求的收集与信息的传达、对疑问的解答、意见的反馈。(传达信息不是原封不动地传达领导的安排,而是提炼并传达任务背后可参考的指导意见,建立反馈渠道,形成良性的反馈循环)
  3. 【流程规划】一定要记得结果导向,须根据目标准备几套匹配的方案供选择。
  4. 【资源协调】找相关资源,清楚团队各角色的职责范围,然后向对方说明任务与需求沟通,协调资源。
  5. 【分解任务】将分解任务到不同部门负责人并评估任务开发周期,和对方确认需求是否存在问题风险,将「任务-部门-负责人-执行者-任务起止时间-问题/风险」梳理并以表格的方式呈现。分解时注意细化和时限。细化让人更易操作。时限不明确会造成拖延。(任务有不同的分类,比如有些是对以前工作的修改,有些是后期需要增补的工作,这两个的任务的性质不一样)
  6. 【跟进推动】跟进项目流程,把握节点。适时推动团队进展,直到实现目标。

  • 160229
这是我的原创文章,如果觉得不错,可以打个赏~