项目过程管理分享

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

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

为什么要做

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

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

经常会得到这样的回答:

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

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

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

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

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

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

怎么来做

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

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

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

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

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

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

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

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

效果怎样

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

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

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

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

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

相关推荐
代码之光_19801 小时前
保障性住房管理:SpringBoot技术优势分析
java·spring boot·后端
ajsbxi1 小时前
苍穹外卖学习记录
java·笔记·后端·学习·nginx·spring·servlet
颜淡慕潇2 小时前
【K8S问题系列 |1 】Kubernetes 中 NodePort 类型的 Service 无法访问【已解决】
后端·云原生·容器·kubernetes·问题解决
尘浮生3 小时前
Java项目实战II基于Spring Boot的光影视频平台(开发文档+数据库+源码)
java·开发语言·数据库·spring boot·后端·maven·intellij-idea
尚学教辅学习资料3 小时前
基于SpringBoot的医药管理系统+LW示例参考
java·spring boot·后端·java毕业设计·医药管理
monkey_meng4 小时前
【Rust中的迭代器】
开发语言·后端·rust
余衫马4 小时前
Rust-Trait 特征编程
开发语言·后端·rust
monkey_meng4 小时前
【Rust中多线程同步机制】
开发语言·redis·后端·rust
paopaokaka_luck8 小时前
【360】基于springboot的志愿服务管理系统
java·spring boot·后端·spring·毕业设计
码农小旋风10 小时前
详解K8S--声明式API
后端