PM入门:你需要知道的项目管理知识

前言

作为一名软件开发工程师,为什么要了解项目管理知识呢?不知你是否在想,程序员只要写好代码就好了,何必要关心项目管理呢。在当今程序员行业愈发饱和的时候,保持竞争力是永恒的话题,而项目管理知识作为程序员的“软技能”之一,不仅能锻炼你的组织协调、沟通协作的能力,同时也能帮助你在技术道路上越走越宽,越走越好。

在我们日常的开发中,项目管理就无处不在,从需求评审、排期、开发、联调到最终发布上线,这个再普通不过的研发流程,其实就是一个缩小版的项目管理过程,下面我们将从程序员的角度,简述项目管理的基本知识以及对实际工作有帮助的方法。

本篇文章适合初入职场或已有 3 年以下工作经验,想了解项目管理知识,提升自身软技能的,想了解需求研发完整流程,更好的做事和提升工作效率的开发者。

阅读完本文你将收获:

  1. 项目管理基本知识,五大过程组及需求研发的完整流程;
  2. 如何做好需求评审,以及对于需求变更的处理方式;
  3. 如何制定进度计划,常用的工作分解和识别风险的方法;
  4. 如何更好的进行工作报告,每日晨会的意义和作用;
  5. 上线前如何做好充分准备,上线后需要做哪些工作;

什么是项目管理

首先来看项目是什么,项目在《 PMBOK® 指南》中定义为:项目是为创造独特的产品、服务或成果而进行的临时性工作。项目并不是重复性的工作,每个项目都有其唯一性,所以是“独特”的;一个项目是有开始时间和结束时间的,所以是“临时性工作”,并且也定义了范围和资源的。

项目管理就是将各种知识、技能、工具与技术应用于项目活动,以满足项目的要求。更具体地说,在从项目的投资决策开始到项目结束的全过程中,进行计划、组织、指挥、协调、控制和评价,最终实现项目目标。

PMI(美国项目管理协会)把它分为项目管理五大过程组和十大知识领域,共 49 个子过程。

十大知识领域包括整合管理、范围管理、进度管理、成本管理、质量管理、资源管理、沟通管理、风险管理、采购管理、相关方管理。

五大过程组包括启动、规划、执行、监控、收尾。

下面我们会从五大过程组并结合实际的工作场景,简述项目管理知识。

图片

五大过程组

我们的需求研发流程其实就是五大过程组比较形象的比喻了。

图片

启动过程组

项目启动过程组包含识别相关方和制定项目章程。开始一个项目前,首先需要制定项目章程,项目章程可以简单理解为一个可以说明项目的背景、目的以及最终需要交付怎样的成果的文件。另一个重要的事情是识别相关方,任何与项目有关联的内容当中,一定会有“人”的存在,项目管理需要人,参与项目也需要人,同时客户也是人,这里我们可以将与项目相关的人统称为“相关方”,在项目前期识别好相关方对项目的成功有着至关重要的作用。

如何做好需求评审?

在实际开发中,需求评审会我们可以看做是一个项目的启动过程,需求评审会一般会讲背景、目的和需求内容,在需求评审时同样也需要识别相关方。这里我们将从一个即将开始的“在线报销系统”项目说起,项目开发前会进行需求评审,在我们参与评审的过程中需要注意几个问题:

  1. 业务场景是否考虑全?开发前期,需要对需求进行仔细的思考和分析,避免有遗漏,才能最小程度降低项目风险。
  2. 合作方的时间是否充足?比如当你没有进行相关方分析,直接撸起袖子干,代码快写完的时候发现功能依赖的合作方没有时间开发,这个时候就会出现风险,最终导致项目延期。

需求评审需要做:

  1. 充分了解需求的背景、目的,拒绝工具人;
  2. 分析需求的相关方,并让相关方知晓;
  3. 确认需求的范围,并以文档的形式记录;

规划过程组

项目启动后,要做的事情就是制定计划,也就是将目标和需求范围转化成实际可落地的方案,而制定计划也是整个项目过程当中最为重要且复杂的环节。规划过程组在 10 大知识领域都有涉及,可见其重要性。规划过程组可以类比成研发流程中的排期计划和技术方案评审,只有在前期做好充足的准备,才能将项目进展的更加顺利。

在这里我们会重点讲解 2 个对日常工作最有帮助的知识点,一个是制定进度计划,一个是识别风险。

制定进度计划

什么是制定进度计划?分析活动顺序、持续时间、资源需求和进度制约因素,创建项目进度模型,从而落实项目执行和监控的过程就是制定进度计划。

工作分解结构 WBS

怎样能帮助你更好的制定进度计划呢?这里我们用到 1 个工具方法,工作分解结构 WBS ( Work Breakdown Structure ),顾名思义,就是将一个庞大的工作拆分成一个个小的任务活动。

图片

实际场景中,进行开发排期前,我们需要对工作量进行评估,在评估时,就可以使用 WBS 进行工作的拆解,使最终的评估更加准确,这里我们以上文的“在线报销系统”为例,通过 WBS 进行拆分:

图片

识别风险

每个项目不论简单复杂,一定会有风险存在,如何在项目当中识别风险,我们可以从几个维度去思考。

图片

常用的风险识别方法:

头脑风暴法

可以由几个小组成员在正常、融洽、不受限制的气氛中以会议的形式进行讨论,每个人都可以发表自己的想法,大家互相启发,来获得尽可能多的想法。

SWOT分析

SWOT 分析一般从优势、劣势、机会和威胁四个角度出发,分析项目存在的风险,从而产生对应的风险处理方案。

图片

我们以上文中的“在线报销系统”为例,进行 SWOT 分析:

图片

在我们日常开发过程中,也会有很多风险发生,在完成自己手头工作的同时也要站在 PM 角度的角度看问题,可以从以下几个方面进行思考:

  1. 接口依赖方是否能按时提供接口
  2. 视觉和交互稿能够按时给到
  3. 技术方案的可行性是否评估到位
  4. 受影响范围是否考虑周全
  5. 相关资源是否充足

执行过程组

执行环节说到底就是“撸代码”,但怎样保证最终成果令人满意成功交付呢,这就是值得我们思考的问题。执行环节并不是一帆风顺的,可能做着做着突然发现这里的实现方案行不通了,也有可能突然改需求了……

在执行之前,需要做好充分的计划和设计,在执行中,通过时刻关注需求进度与相关方保持沟通,确保最终的成果是符合交付要求的。

实际开发当中,有 2 点需要重点关注:

需求变更

需求变更会影响进度范围,多功能和少功能都会对项目进度产生影响。

如何应对需求变更?

  1. 出现变更不能盲目执行,任何的变更都有可能引起未考虑到的问题,也会对项目进度产生影响;
  2. 需求变更需要统一流程和规范,任何的需求变更都需要经过评估;
  3. 要对需求进行持续跟踪,所有需求都需要在平台中录入并更新,方便后面对需求的管理;

图片

冒烟自测

自测环节是保证质量的一个重要环节,在需求研发流程中,我们需要进行测试分析评审,研发严格执行冒烟用例,确保最终功能点和兼容性测试都能够覆盖到。

监控过程组

监控过程始终环绕在整个项目周期中,两者相辅相成才能促成项目保质保量的完成。怎样才能更好的监控项目过程呢?这里提到 2 个重要的活动,一个是工作报告,一个是晨会。

工作报告

工作报告是项目管理当中查看项目进度和状态的必要文件。

实际工作中我们也需要撰写日报、周报或者月报,怎样才能让别人清楚的了解到项目的状态和进度,我们以周报为例,可以通过以下几个方面来写:

个人角度,需要包含以下内容:

  1. 本周工作完成度
  2. 下周工作计划
  3. 工作中遇到的问题及建议

团队角度:

团队和个人周报的区别在于更聚焦于结果和计划,因为你是代表整个团队的产出成果,需要体现主次。

  1. 重点业务进展、风险
  2. 各业务线进展、风险
  3. 下周工作计划

在报告中也可以使用表格的形式来呈现整体的进度和风险。

图片

晨会

很多互联网公司或者传统行业的公司都会有开晨会的习惯,为什么要开每日站会,可以从下面几个角度分析:

图片

收尾过程组

收尾即对项目进行收尾和采购进行收尾。一个项目结束后也需要整理项目当中的组织过程资产,包括经验教训登记册、问题日志等。收尾也有一个重要的标志,就是可交付成果通过客户验收,那怎样才能更好的保证成果达到预期标准呢?

从上线前的角度出发,就是要保证上面 4 个过程组都执行到位,包括做好功能测试,制定好上线的清单,明确需求功能点,对视觉、交互走查,面向业务方、用户演示。做好上线前的工作非常重要,能够让交付的成果保质保量的给到客户。

上线后也要时刻关注告警,并对项目进行复盘和总结,归档材料。

图片

总结

通过以上过程组的了解,相信大家对项目管理知识有了初步的了解,在有了项目管理知识之后,就需要将知识运用于实践中去,并在实践中总结经验,才能有所提升。当然我也是初学项目管理,文章当中难免有写的不对的地方,也请各位大佬予以指正,共同进步!

作者:政采云前端团队
链接:https://juejin.cn/post/6997536906967777316
来源:掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

赞 (3) 打赏

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏