聊聊项目管理

171 阅读5分钟

去年作为项目经理带了一个项目,持续时间大概半年。从这个项目管理过程中踩了不少坑也汲取了不少经验。

项目是把原有的一个业务系统做技术升级改造,业务功能繁多,在升级的基础上增加一些新功能。总共涉及到2个后台系统、一个Android客户端、一个iOS客户端、h5、两个web系统,共16人参与,计划6个月完成。

整个项目经历软件开发的整个流程,需求分析、系统设计、开发、测试、交付阶段。每个大阶段又分了小的里程碑。

需求分析分了需求讨论、产品功能梳理、功能清单确认、开发计划制定、技术预研5个子阶段。

系统设计分了总体设计、子系统概要设计、设计评审3个子阶段。

开发阶段分了编码、单元测试、联调测试、安装手册编写4个子阶段。

测试阶段分成了测试案例编写、案例评审、一轮功能测试、二轮功能测试、安全测试、集成测试、安装测试、性能测试、高可用测试、三轮测试10个子阶段。

最后交付阶段内容包括版本安装包、安装手册、用户手册。

项目过程中经历了需求插队、人员离职、需求更改、计划调整、领导提升用户体验等过程,最后比原定计划多5个月的时间交付。

项目管理过程中我觉得一些做的比较到位的地方:

1.需求分析阶段充分做好调研,做好详细的功能清单,避免遗漏功能点。根据据功能清单请开发负责人充分评估开发时间,此过程也让开发人员更充分的理解消化本次需求改造点。

  1. 每个阶段都列明输入物、输出物,保证各个阶段都有预期的输出文件,避免无成果导向的努力。

3.设计阶段各个子系统给予一定的时间充分做好设计,明确关键技术,以及各个业务模块的内外部接口,最后都落实到文件中。以此来保证编码之前都有经过充分的思考,后续过程都要以设计文档来指引编码,避免编码阶段中考虑不周导致的缺陷。尤其注意的是数据库设计是基础的基础。

4.开发阶段一定要做好进度跟踪,每周了解开发任务是否符合整体预期,对不符合预期的要了解原因,解决阻碍点,尽量让局部进度不落后太多。

在这过程中遇到的主要问题是有些功能实现复杂度超过了预期,实现过程比原计划多花了些时间,解决的对策是根据实际情况把别的人员临时抽调辅助开发。

5.测试阶段利用gitlab提issue功能,各个系统建立相应的标签,提bug时候按标签进行区分,便于后续测试问题跟踪。用gitlab的好处是,每个issue下面能进行回复,把涉及人员都引入到这个话题下,实时跟踪了解问题解决情况,以及bug最终落到哪个开发人员名下。

再来聊聊两个心得体会:

一.整个项目过程中最困难的是与项目成员的沟通交流过程,怎么把高效的把任务推进下去是重中之重。

我认为首先是要把任务进行充分的拆解为一个个小任务,越细越好,在任务派发的过程中还要尽量保证项目成员对任务的理解度是一致的,这个过程就需要反复的沟通。

任务下发后建立各个模块负责人机制,负责人对相应任务做好细节的把控。项目经理平时做好与负责人的沟通,充分掌握任务的进度,在任务与预期发生偏移时候从中协调资源。

二.在项目过程中一定要做好和上级的沟通,充分理解、领会领导的意思,尤其是一些潜在的指示。

在这方面我做的不太好,有些事情我认为不必要或者有更好的办法而没有采取领导的一些建议,导致一些事情有返工,或者是领导对结果不太满意。

后面慢慢体会到领导口中的"建议"其实不是建议,潜在意思其实是"我就是要求你这么做,不这么做肯定是不行的","尽快"潜在的意思是"立刻,马上去做,越快越好"。

这些刚开始我没有注意,是经历了一些事情后慢慢领会到的。当然,每个领导有每个领导的管理风格,也不一定所有领导都是这样。但是按这个做大部分时候是最明智的选择。

一些刚参加工作的同学,或者即将步入职场的同学要注意,埋头做好事情的同时,也要多抬头思考"人"的一些事情,这点对想要在职场上快速升职加薪是有很大帮助的。当然不是教大家拍马屁,只是让大家在提升技术的同时,抽时间多琢磨一些人际关系和向上管理的事情。

今天先分享这么多,希望能对大家有所帮助。后面会继续不间断分享生活,工作上的一些事情,在此也感谢大家持续不断的关注。

想要了解更多,扫码关注我的微信公众号:七分熟pizza

如果想添加好友交流,关注公众号后回复:微信

公众号里我会分享更多技术以及职场方面的经验,大家有什么问题也可以直接在公众号向我提问交流。