• 主页
  • 架构
  • 编程语言
  • 数据存储
  • 网络
  • VMware
  • 服务器
  • 组网
  • AI
  • 算法系列
  • 设计模式
  • 读书笔记
  • 思考
  • 工具
  • 其它技术

  • 主页
  • 架构
  • 编程语言
  • 数据存储
  • 网络
  • VMware
  • 服务器
  • 组网
  • AI
  • 算法系列
  • 设计模式
  • 读书笔记
  • 思考
  • 工具
  • 其它技术

对项目管理的一些看法

2024-08-18

前言

​ 工作五年了,亲眼见证了我们从一个五六人的小团队成长为四十多人的大团队。回忆这几年的工作,我很开心,偶尔翻到以前工作的照片,内心是愉悦的。我觉得我还是比较幸运的人,找到了一份自己喜欢的工作,找到了一群我喜欢一起工作的人,我们也不断成长、不断取得新的成绩。

​ 团队不断成长过程中,有很多不错的经验,这次想聊一下项目管理。之所以先选这个话题,是因为最近公司在推行一套新的项目管理系统,我们自己用的那套项目管理方法就废弃了,这两种管理系统我都用过,我可以做个比较。

现状

​ 聊项目管理,我觉得我需要先把组内的业务流程讲述一下,毕竟不同的业务流程可能需要使用的项目管理方法也不一样。

​ 我们组负责商城业务,目前商城主框架已经完善,我们的需求方来自产品。

​ 了解商城的同学应该知道,商城业务需要快速迭代,所以我们每周可能有三四十个项目并行,算是人手一个项目,项目从开发到上线一般1~2个月。

​ 每周我们会在指定时间和产品组开会,校对项目进度和项目优先级,确定下周计划。

​ 这便是我们目前的现状。

三套系统

无管理

​ 当我们只有五六个人的时候,几乎所有的项目都被规定了截止时间,产品说了:我就那天要用。

​ 我们能看到业务的快速发展,我们感到干劲十足,我们有满腔的热情,我们不需要项目管理,我们就撸起袖子加油干,然后我们就干成了。

​ 当然,我们也不是一点都没有管理,多少还是做了排期和相关规划的,不过有些简陋,一般是这样的:


​ 一封邮件里包含了项目的时间点和具体的内容分解。当时研发少、项目少、产品经理少,大部分同学素质和水平高,总体是能按照计划完成任务的,所以当时这种管理方案是可行的。

​ 现在想想当时真是轮轴转,完成了很多别人觉得不可能完成的事情,但是没有人觉得累,每个人都干的很开心。

​ 这便是在业务野蛮生长期,我们使用的第一套项目管理系统 - 无管理

自建项目管理系统

​ 随着业务增加,产品经理和研发同学不断扩充,导致项目太多,上述的方法已经无法满足管理。主要有以下几个原因

  1. 无论是产品还是研发都需要一个能够查看当前所有项目的位置,这样才好把控资源和规划
  2. 项目有不同的状态,需要查看哪个项目是否长期没有被处理或者是否有风险
  3. 研发负责人需要知道研发资源使用情况

​ 最初我想自己做一套,但是本身项目就多,领导也觉得没这个必要,这个事情至少还需要一个产品经理、一个前端,没有资源,所以就没做。现在想想,幸亏当时没做,当初觉得做个项目管理系统应该比较容易,完全是夜郎自大。倒不是说项目管理系统在技术上会有多复杂,而是说做出的这个系统是否能真正符合大家的需求。当时的业务规模、业务数量和做项目遇到各种事情都比较少,在这种知识基础下做出的东西未必会是好东西。

​ 后来调研了一下现在有的一些管理工具,使用起来也比较复杂,最终我们使用了一个比较简单的方案解决了这个问题。使用TB

TB

​ 首先我们确定好项目状态有:需求排队、需求评审、技术评审、排期中、开发中、测试中、上线中、已上线、暂停或废弃。每一个状态下会有对应的项目列表。产品和研发一起推动项目状态不断变更。


​ 对于其中的每一个项目细节,配置项如下

  • 项目负责人

  • 项目开始时间和结束时间

  • 项目进度

  • 项目覆盖地区:国内/海外

  • 产品线:由哪个业务方提出的需求

  • 里程碑:关键时间点,开始开发时间、提测时间、上线时间

  • 需求提出人

  • 产品负责人

  • 研发负责人

  • 测试负责人

  • 预估价值

  • wiki链接

  • 备注

​ 因为每周有和产品的周会,所以周会前一天,项目负责人会更新进度,如果有风险点会进行备注。

​ TB有个好处是搜索做的很灵活,所以可以很容易过滤出自己关心的项目。通过使用TB我们将项目管理了起来。

规范化

​ 当然只靠TB是不行的,我们做的另一点是将项目需求进行规范化处理。每一个项目都需要有

  • 需求文档:包含产品的需求细节和原型

  • 技术文档:如果项目复杂,技术文档需要包含架构、api等技术细节,该文档需要各个技术方参与评审

  • 排期文档:极其重要的一部分,一般包括如下内容

  • 上线和回滚文档

​ 这些文档会放到TB的wiki链接配置项上,方便所有人查看。

​ 项目提测的时候,会在提测系统上填写提测内容,也会给测试同学进行演示,防止研发做的项目根本无法使用。当然,研发同学也会一起过测试同学的测试用例。

​ 如果项目有延期和上线风险,需要提前和产品沟通,如果风险无法避免,需要和所有人员开会,重新制定方案和确定新的时间点,并发送延期邮件。

​ 项目上线完成后,根据项目实施情况,大家可以做复盘。通过这种方式,我们不断的优化自己的管理。

​ 就我个人而言,我还是比较喜欢这种管理方式的。

  • 首先在于单个项目的详细信息十分容易获取,众多项目的信息也一目了然。

  • 其次这种方式是紧中有松的,即把所有项目汇聚成流,但也允许开发人员在遇到问题的时候及时做出调整。

  • 第三点就是维护项目代价很低,每周更新一次就能保证各方对项目看法一致

​ 当然,这个也有缺点,缺点在于每个研发同学的工作量没法量化,可能直属leader知道大概,却没法用数字表达出来,这会导致在晋升、评级等事项上,缺乏依据。

自研项目管理系统

​ 今年部门开始自研项目管理系统,拆解后的内容在项目中输入,完成某个小项后,需要更新小项的状态。这样自研系统能够查看每个人的工时和工作情况。

​ 这套系统因为还在建设中,有一些我感觉可以改进的地方,主要如下

  1. 填写拆分的小项麻烦。以前我们只需要写排期文档即可,而且排期文档可以很方便的看出各个组的工作量。现在需要先写排期文档,然后将排期文档里的小项再填写进系统,需要耗费多倍的工时。可以将填写小项的功能做的更直观一点,清晰明了展示内容。
  2. 更新麻烦。每个小项完成后,如果不更新,整个的项目进度也不会更新,所以完成一个小项后需要及时进行更新,如果忘记了,显示进度会有问题。这种可以通过邮件提醒来解决。
  3. 查找项目麻烦。如果想查找自己关心的项目,很难进行过滤,可以对项目属性进行梳理,优化项目搜索功能。
  4. 查看里程碑麻烦。这个管理系统里缺一个明确显示里程碑的位置,所以查找里程碑通常需要查看排期文档。
  5. 项目变更缺失。目前只有正常流程的管理,如果项目有风险,这种变更操作没有地方进行操作。
  6. 分配积分困难。每个项目有积分,项目完成后,参与人员需要对参与的每个同学进行打分,来分这些积分。这就比较考验人性和大家对其他人工作的熟知程度。
  7. 一些小的改动点无法在系统里体现,如修复bug,追查问题,回答问题等

​ 这个系统有一个好处,无论数据准确与否,但是确实能量化每个人的工作量了,能够查看每个人的工时,也能看到每个人所赚取的积分。希望这个系统能越做越好。

​ 所以项目管理系统还是挺难建立的,需要容易填写、容易查看、容易更新,再加上计算每个人贡献这种更偏向人性的部分,更加考验产品和研发的智慧。

总结

​ 项目管理终归是必须的,所有人只有看到运行的一切才有安全感,才能更好的把控事情。但项目管理的本意是什么?我想最根本的还是想让业务能够更好更快的发展。

​ 那以前我们没有使用任何项目管理的时候,为什么能够完成如此多的挑战呢?是不是里面包含了一些更重要的事情。

​ 希望这边文章能够多少帮助到大家,如果大家有什么其他想法也欢迎大家反馈。

扫一扫,分享到微信

微信分享二维码
TCP性能优化
对产品经理的一些思考
© 2025 John Doe
Hexo Theme Yilia by Litten