数据人必知的项目管理
由浅入深看项目管理
|0x00 如何认识项目管理
这是一个全民“焦虑”的时代。
不论你是基层工作者、中层管理者,还是企业高管,如何管理好一个团队,做好项目管理,是每个人都关心且希望精进的技能。而要想精进项目管理的技能,我们首先明确一下,什么是“项目”。
按照百科的定义,项目是:人们通过努力,以创新的方式,将资源组织起来,在给定的时间约束规范内,完成一系列的工作任务,以期达到限定的目标。如果我们再精简一些,可以把项目看作两个必要条件:一系列工作任务,以及限定的时间期限。而项目管理要做的,就是在规定的时间内,安排与协调项目之中的一系列工作任务,包括组织、预算、用人、监督和沟通。
项目管理是很难的,是因为,当所有人第一次在会议室碰面时,相互之间,很难抱有相同的动机,也很难认同共同的目标。对参与者而言,项目只是工作的一部分,而对于你来说,项目就是工作的全部。所以当团队中出现反对意见时,反对者的呼声就是你必须要考虑的因素,因为每个人都有捍卫自己地盘的权利,尽管这会与项目的目标起冲突。
但如果你通过以身作则的榜样,来建立起在团队中的威信时,团队将受益匪浅,包括实现预定的战略目标、在时间预算范围内获得结果的可预见性,以及最大程度上的降低成本。
管理一个项目通常要经过四个阶段,分别是计划阶段、建设阶段、实施阶段与收尾阶段。但并不是每个项目都可以串行,很多时候项目之间会出现重叠的情况,需要参与成员并行处理。此外,项目通常也会遇到各种风险,导致项目进行多次的迭代升级,或者是回退重做。但返工并不意味着项目就是失败的,只是一种将最新的知识或者信息融合入总体计划的过程。
最后,项目通常会尝试一些创新的方法,或者要拿到一些创新的结果,但创新总是有风险的,而最大的风险来自于结果的不确定性。因此,在做创新性的项目时,失败就是在所难免的。我们需要对此有一个正确的认知,即失败并不是创新项目的敌人,而连续的失败才是我们真正要解决的问题。
因此,在项目开始前,一般都需要列出项目所面临的所有可能的问题,例如用户体验问题、例如技术架构问题,等等。从不确定性和重要性两个方面出发,给每个问题进行评估,接下来再按照评估的结果,将最容易出现问题的地方作为重点突破对象。
但很多时候,大家会把事前的分析当作无用功,不去思考或者是懒于思考,对于团队成员这么做无可厚非,但对于项目管理者而言,就是一种犯罪。因此只有尽可能的遇见风险,成本才有把控的可能性,不论是时间上还是金钱上。
|0x01 项目的范围如何界定
很多人在做项目管理时会有一个误区,即认为项目管理是完全按照客户需求来走的。比如BI同学提出了一个数据平台的需求,你问他为什么BI也需要一个平台,往往得到的回答是:“我们的提取数据速度不够快,很多时候需要跑好几份数据才能出一个报告。”因此直接问客户问题,往往只能得到一个表象的回答,而非涉及到项目的根本。例如数据平台考虑的就不仅仅是取数问题,更多的是哪种类型的数据、多细维度的数据,以及数据获取的时间周期问题,如果不理清楚问题的答案,那么很可能花费很多的时间在解决一个无法解决根本问题的系统上,这会极大的挫伤团队的积极性。
因此,当项目经理拿到第一手的需求时,至少应该找到一些共同参与项目的人,一起来集思广益,通过开放式的问题,来寻求更佳的解决方案,例如:
解决当前的客户需求有多少种方案; 这些方案哪一个是最可行的,理由是什么; 其他方案里是不是有可以借鉴的地方; 我们计划采用的方案是不是能彻底解决问题。
项目管理看似是一个“管理”有关的动作,是一个“向下”的行为,但实际上,项目管理是利用“管理者”的行业经验,帮助客户制定有效解决方案的过程,是一个“向上”的行为。
此外,在确定了项目的解决方案后,还需要考虑与项目有关的既得利益者问题,包括高层、支持部门、项目参与人等,因为任何一方与项目产生冲突,后期都需要花费更多的时间精力来弥补。在与既得利益者沟通的过程中,有一个因素很关键,就是“克制解决所有人问题的冲动”。比如BI同学提出了一个数据平台的需求,那么运营同学发现了这个潜在的利益点,也提出了自己的需求,这时候刚刚定好的项目目标,又存在了变更的风险,而时间成本往往已经不允许了。
所以,项目开始前,一定要与所有潜在的既得利益者沟通目标,如果对方清楚项目的目标并有自己明确的诉求,那么把这些诉求整理清楚,做到计划里;否则就需要将项目进行中的阶段性目标,做一个及时的沟通,并解释清楚当前的时间成本,防止项目成型后的再次大变动。
最后,项目的范围需要考虑的,还有估算项目的资源,包括开发时间、实现成本与人员构成。每个大的任务,往往可以通过WBS(工作分解结构)进行逐级的拆分,知道再无法细分为止,思考每一个细节的时间与技能成本,判断哪些任务可以并行、哪些需要串行,找出项目的瓶颈点,并集中解决。这样,当你能够掌握项目的每一个细节时,总体的成本也就与估算相差无几了。
大约有三个点可以衡量项目的健康度,分别是:
质量:能否满足预定的诉求; 时间:能够在规定时间交付; 成本:人员与资金是否可控。
如果任何一个变量发生变化,其他两个也将随着变化,学会心中时刻掌握这些要素。
|0x02 项目的进度如何把控
项目进度的把控,往往取决于项目管理者对细节的掌握能力,很多时候,仅仅把事情记在脑子里是不够的,你需要一系列的工具来管理相关方的进度。
例如,项目管理中常用“甘特图”来展示项目进度的全貌。从上至下,列出项目的每个细分阶段;从左至右,画出每段任务所需要的时间。在这份时间图里,可以很容易的观察到哪些实现路径是关键因素,以及关键因素所需要的时间。
这里推荐一个好用的软件:OmniPlan,项目管理常用。
有了软件的帮助,我们就需要考虑如下四个方面的内容,分别是:
项目瓶颈:整个项目的流程图里,哪些环节是串行的,并且如果无法完成,会导致整个项目停工? 人员负荷:在一个完整的项目周期里,哪些员工的负荷会非常重,比如一天工作12小时,长期的疲惫不仅容易滋生反抗心理,也会为项目带来额外的技术风险; 功能疏漏:哪些关键的子任务没有被排期,因为如果加塞额外的任务,往往会导致项目任务的分配产生矛盾;
这里再推荐两种工具:关键路径流程图、PERT图,用于标记关键任务的时间节点,并注明子任务之间的依赖关系。
对于项目管理者,往往会产生一种自我良好的心理,因为工作的性质,往往会让人产生满足和欲望感,一旦现实与预期发生了矛盾,会严重影响自己的信息,从而对项目的发展产生一些主观的判断。
而且,一个项目的进展过程里,意外往往是必然发生的:团队成员请假、协作者之间的性格产生冲突、关键技术节点延期,等等。我们往往会有一个最好的打算,但在最后的成果汇报上,往往都是不那么尽如人意,因此不要指望运气能够帮助你,老老实实的做好项目计划、用好项目管理工具,才是项目管理者的底气所在,至于经验,只是加分项而已。
最后提一下,有一些成本往往是项目管理者可能忽视的因素,比如人员变动、软件或硬件的许可费用、项目完成后的运维成本,等等。尽管预算能够尽可能的弥补差距,但出于风险的考虑,在做任何项目规划里,都要留有一定的应急解决成本,以防止某些不可预料因素的发生。
|0xFF 项目的风险如何管理
最后,我们谈一下项目的风险,正如之前提到的那样,项目总有一些不可预料的因素,而如果控制这些因素的发生,决定了项目最终的成败,也就是“行百里者半九十”。
风险考量点主要在如下的几个方面:
内部风险:人力是否充足、关键人物是否稳定(项目期间不离职)、技术人员水平是否能够解决关键问题,等等; 外部风险:竞品的发展情况如何,是否会出现上线即落后的情况;上下游协作的情况如何,比如供应商突然出现问题,或者是市场发生了突然的变动,等等。
关注那些最后可能发生的问题,并及时总结成项目经验,沉淀到往后的每一次行动中,至关重要。
要知道,在互联网公司中,一个人能否顶住压力、识别并解决风险,体现了一个人掌握某个领域的能力,在比较高级别的晋升中,也是很重要的考量因素。主管无法帮助你搞定每一次的问题,你要有自己解决问题的能力,并且让客户满意,只有自己变得不可或缺,才能奠定更高的职业生涯。
如果领导对你说:“我希望你负责更大的项目”,既是一种对你的认可,也是一种风险解决能力的体现。