项目过程管理分享

每个项目的生命周期,基本都大同小异。从项目立项,产品方案澄清,技术方案设计,开发落地,测试验证,上线灰度,效果复盘,持续改进,有大的改进项再重复一遍前面的过程。

如果我们完成了一个项目,作为一个项目负责人,要对项目的过程管理复盘,可以从如下三个方面展开来说:为什么要做、怎么来做、效果怎样。

为什么要做

在十年前我初入职场的时候,我记得当时领导就反复跟我们强调过这个问题,一定要反复追问这个问题,它代表着你为什么出发,你做这件事情的动力和价值。

经过这么多年后,在职场我却经常发现很多研发人员却不关注这个问题,他们会陷入只做事情,不愿意思考为什么要做,如果你问他们做这件事情的价值和意义?

经常会得到这样的回答:

  • 这是业务提的需求,他们要做。
  • 这是老板的要求,要完成老板的任务。
  • 这是谁谁谁的硬性指标,要完成的。

一旦得到这样的回答,其实就代表了你只是一个工具人,你根本就不知道做这件事情的初衷,那就更谈不上你能够把这件事情做得很出色。

为什么要做?要回答这个问题,可以思考的很深入,也可以很简单。随着你对不同行业的深入,你回答这个问题的层面也会不一样。

以自己多年从事软件开发的经验,回答这个问题会涉及以下几个方面:

  • 这个需求要解决什么问题?当前的现状是怎样,为何要当前解决。
  • 解决这个问题的成本和收益,投资回报率是否值得。
  • 对比行业内的解决方案,我们做的是否更有竞争力。

对于这个问题,越是优秀的人,越是卓越的人,回答的更是让人醍醐灌顶,耳目一新。而刚入职场的新人,往往只知道做事情,而容易忘记了为何要出发?

怎么来做

对于怎么来做?这是工程师的比较擅长的范畴,很多工程师也是到了这步才知道要做什么,从而更专注在怎么做的范畴里。其实知道要做什么,比怎么做要更有挑战性,这也是为什么很多公司越是靠近客户的职位,越能够得到快速的发展和升职的机会,因为市场的需求是从他们手里接过来的,而研发人员是做好稳定可靠的后勤保障。

下面聊聊怎么做好高质量,稳定可靠的后勤保障?

市场的需求接到后,一般会进行立项和需求分工。项目经理这个角色,就是负责需求的落地和最终上线。

  • 大公司由于各种人员比较齐全,会有专门来做项目管理工作的工种。
  • 小公司,一般不会专门设立一个项目管理的人,主开发就承担了这个角色,既承担开发的责任,也承担项目的过程管理。

作为一个主开发人员,既要有一部分开发任务,同时也要负责整个项目协同控制,如何来做好这个角色?

  • 前置沟通留空间。
    1. 项目前期沟通,先把需求任务的方向定好,给大家一定的思考和准备时间,确认大家对需求的目标达成一致。
    2. 需求澄清阶段,不讨论过细的任务工作,也不讨论具体的排期计划,有一个截止日期即可。
  • 整体架构明确职责。
    • 架构设计一定要明确各个部门要交付的开发内容。
    • 定义清晰各个部门相互配合的接口定义,这个会极大的减少后期相互拆皮的麻烦。
    • 整体上下游的交互流程要体现清晰,确保大家对整体的流程认知达成一致。
  • 任务拆分控偏差。
    • 任务拆分的粒度要足够细,确保每个任务的工作量不超过3人天,这样即使过程出现任何风险,也可以及时调整和控制。
    • 任务拆分要足够明确,每个任务是一个独立可以交互的原子能力。
  • 借助工具提效率。
    • 借助工具来提升项目管控的过程,让大家时时了解各自的任务,然后从整体上把控风险和进度。
  • 进度跟进控风险。
    • 基于日报的形式,让大家了解整体的情况,更新整体的风险,及时解决过程风险遇到的问题。

研发人员经常会陷入到具体的技术钻研上面,深入研究底层的技术实现和原理,但是这些终究很难创造价值,技术说到底依然只是工具,业务才是目的。

整个过程的管控,是为了更好的把业务给落地,以事情的闭环为目的。过程中我们得到的经验和沉淀是大家的成长和收获,大家在做事的过程中既帮公司实现了业务目标,同时自己也收获了成长,这才是公司做事的终极目标,让员工和公司达成双赢的局面。

效果怎样

一个项目上线对于研发人员来说是事情的结束,但是对于一个产品和业务人员来说事情还远没有结束,上线后结果要持续跟进和分析,是否达到了当初立项的目标。

这个时候就需要数据分析人员的介入,开发过程中的埋点数据,就是为后期上线的效果复盘准备的。

项目上线前期,可能会小范围试点,试跑一段时间后,分析这个试跑阶段的数据情况,看看是否符合预期?

  • 如果不符合预期:还得分析开发阶段的问题和方案,对项目进行迭代和修正,确保最终达成目标。
  • 如果符合预期:就可以放到更大范围来试点,通过更大范围的数据来分析效果,如果都没有问题,才最终全量上线。

从一个项目的角度来看,从立项到最后的复盘才算是一个项目完整的生命周期。而研发人员,在其中并没有看到全局,只是负责了中间的落地的管控过程,所以作为一个软件开发人员,我们要提升自己的全局视角,完成开发任务只是一个小的环节。只有你掌控了全局并且理解自己做的这个任务在整个项目中的意义,你才能够看得更远,想得更深。

相关推荐
XINGTECODE15 分钟前
海盗王集成网关和商城服务端功能golang版
开发语言·后端·golang
程序猿进阶21 分钟前
堆外内存泄露排查经历
java·jvm·后端·面试·性能优化·oom·内存泄露
FIN技术铺25 分钟前
Spring Boot框架Starter组件整理
java·spring boot·后端
凡人的AI工具箱1 小时前
15分钟学 Go 第 60 天 :综合项目展示 - 构建微服务电商平台(完整示例25000字)
开发语言·后端·微服务·架构·golang
先天牛马圣体1 小时前
如何提升大型AI模型的智能水平
后端
java亮小白19971 小时前
Spring循环依赖如何解决的?
java·后端·spring
2301_811274311 小时前
大数据基于Spring Boot的化妆品推荐系统的设计与实现
大数据·spring boot·后端
草莓base2 小时前
【手写一个spring】spring源码的简单实现--容器启动
java·后端·spring
Ljw...2 小时前
表的增删改查(MySQL)
数据库·后端·mysql·表的增删查改
编程重生之路2 小时前
Springboot启动异常 错误: 找不到或无法加载主类 xxx.Application异常
java·spring boot·后端