兼着项目经理的工作,整理日常所接触项目关键点,避免重复踩坑,其实这也是系统分析师工作内容之一。
一、什么是项目管理
项目管理是一门很严谨的学科,巨头或大公司都有项目管理专职跟进,但对于一些微小企业,人员都是身兼多职,并没有项目管理专员。结合项目经验教训,总结自已日常项目开发中的关键点,保障项目顺利交付或发布。
1.1 项目管理整体理念
- 通过与项目主要干系人的沟通,识别客户对项目的需求
- 在分析项目要求的基础上,权衡项目范围、时间、成本与质量等相互竞争的要求,寻求最佳平衡点
- 建立明确、具体且切实可行的项目目标
- 把项目目标转化为具体的实施计划。组建项目团队具体实施
- 对项目进展情况进行动态监控,及时纠正偏差,保证项目顺利进行
- 对项目阶段或整个项目进行正式收尾工作
1.2 项目管理十大知识领域的逻辑关系
项目管理最本质的内容是整合管理,项目的范围、时间、成本、质量、人力资源、沟通、风险与干系人管理等,都是为了实现最终的整合管理。这十大知识领域的逻辑关系可以描述为,在整合管理思想指导下:
- 弄清楚项目的工作内容(范围)
- 弄清楚这些工作要在什么时间完成(时间),以多大代价完成(成本),做到什么要求(质量)
- 弄清楚需要什么人力资源完成项目,以及组织内部有没有这样的人力资源(知识和技能)
- 如果没有足够的人力资源,就需要外包一些工作给外包公司或个人,从而就需要对采购及相应的合同进行管理
- 项目所涉及的内外部人力资源间需要进行沟通,才能较好的相互协调
- 弄清楚哪些风险会促进或妨碍项目的成功,并积极加以管理
- 自始至终,都要进行干系人管理,以便了解干系人、引导干系人积极参与项目工作,并满足干系人在项目上的利益追求
1.3 项目经理具备的技能
项目管理者或经理具有一定的技术能力或技术背景;有较好的把握全局,掌控方向的能力;很强的人际关系能力。
人际关系能力是指与人打交道的能力,进行团队建设的能力,是项目管理者或经理最需要的能力。项目管理者或经理最重要的任务是组织项目团队和其他干系人来共同完成项目任务,而不是独自解决技术问题,不是自己亲自做事的人。
二、项目管理常见问题
2.1 除了监控进度,还要管理质量
在项目的开发初期,制定了详细的开发计划,用于指导整个开发过程。在整个项目过程中,对进度管控很严。定期检查功能是否完成,保证了开发进度顺利推进,却比较少关注完成的质量如何。项目质量出现了一些细节的问题。反思:
- 进度和开发速度固然重要,但以质量换速度不可取
- 再困难的情况下,也要保证基本测试
- 如果开发时间和质量冲突,优先保质量(极少数会以时间优先)
2.2 既要给予信任,也要保持警惕
在项目中给予了他们非常充分的信任,信任他们可以把一切事情都做好,比较少介入。但在项目后期使用发现项目问题较多。
反思:
- 不论什么原因,都要关注到项目成员的状态
- 给予信任没错,但也要适当保持警惕,他们多少会因为经验问题疏忽遗漏一些问题
- 给予信任,也要给予帮助,不以时间为理由推脱你应该对他们进行的指点和帮助
2.3 若无法全局掌控,就指派专人负责
在项目多的时候,我也遇到这样的问题。由于种种原因,我无法掌握到项目的每个要点和细节。我并没指明其中某一个来负责整个项目,所有事情都让他们自己商量。整个项目中,没有一个人对项目中的每个要点了如指掌。
反思:
- 授权!授权!授权!如果自己无法亲力亲为投入项目管理工作,就授权给团队某个成员管理权限,让他代替你去做管理工作
- 管理一人,总比管理多个人轻松,也更有效
2.4 要控制需求,更要控制流程
我们有很多项目,并没有明确的需求,没有在项目初期进行项目的设计和规划。项目开发中的需求变更,客户反馈意见,都仅仅是告知,未做详细的修改规划,所有事情都靠嘴说,所有变动都放在脑子里。会导致整个项目以及其不规范的方式在运行,项目开发可能出现一团乱麻。
反思:
- 不做设计,不进开发
- 以管理工具指导开发进行,开发过程中所有变更、反馈做记录
- 控制需求变更,拒绝不合理的需求
- 需求变更规范化操作,统一变更,而不是直接给开发
2.5 无论什么情况下,都要进行 code review
项目开发过程中,也未让开发间互相进行代码 review (国内企业通病),也没有进行代码评审会。这个其实是非常常见的问题了,其实代码中出现了很多问题,最后检查代码的时候,发现各种命名不规范、代码复用不到位、简单逻辑复杂写等等。开发各自为战,难免造成代码问题。代码质量的问题,淋漓尽致的体现的在项目中,项目中的诸多 bug,都是因为代码不规范引起的。甚至于开发人员自己对自己写过的东西,都有些拎不清了。
反思:
- 代码质量非常重要,代码越规范bug越少
- 代码互评能让开发更注重自己代码的质量
- 同项目开发人员之间相互做 code review
- 如果管理者没空,就授权团队中有一个
三、总结
项目管理也是靠积累,没有人天生就会,需要不断摸索并吸取教训:
- 先设计,后开发 --慢即是快
- 管理权下放,项目中必须有人全身心负责
- 压缩质量得到的进度保证不可取
- 严格控制需求变更
- 无论什么情况都要进行 code review