本篇博客是关于课程大作业–“MoneyDodo”项目的项目管理总结,介绍一些项目中的收获。感谢我的组员们在初次开会的时候给我提供了作为项目经理的宝贵机会。
1. 关于团队组建与成员分工
首先,我们发现线下面对面的交流相比于线上的交流效率会高很多,所以我们团队7个人采用线下开会的方法,一共进行了4次小组会议,来讨论成员分工以及一些设计的细节。
关于成员的分工,我们充分考虑了每个成员的长处,尽量为成员们分配擅长的工作,例如有的同学修过“服务计算”这门课程,比较适合后端开发,而有的同学没有,又比如团队中的女成员对于UI界面具有更优的美感,所以安排她们进行UI设计和前端开发。当然,因为是学生阶段的课程项目,有的成员希望接触一些新的领域来拓展自己的技能,现学现用也未尝不可,所以结合成员们的长处和意见,最终确定了成员的角色分配,在项目初期就完成了前后端的分离。
2. 关于每次会议的经验总结
我们采用线下的会议,第一次的会议主要是确定角色和分工,每个人都到场并积极参与讨论,我觉得这是作为一名团队成员应有的素质,而不是出席会议却不参与讨论,静静坐在一旁。关于会议参与度我觉得我们团队每个人都非常好。
当然,会议肯定需要有人主持,一般来说,项目经理需要承担这个工作,而且需要有人进行会议记录,以便后续的回顾和总结。我们以轮流的方式进行会议记录,每场会议由不同的人进行记录和总结,减轻负担。而项目经理在每次会议需要做的工作主要有:
- 确认前端和后端的工作成果和进度,若进度与计划不符,则要及时分析原因,并及时对计划作出调整。我们团队在进度方面做得还是比较好的,特别是后端,进度相当快,为前端提供了很多便利。
- 细化下一轮迭代的工作内容。因为我在一开始为团队编写了迭代周期的框架,我们后续的工作是按照这个框架开展的,我们将项目大致划分为三轮迭代,每次迭代完成一定的工作内容。因此我们每次开会需要细化每一轮迭代的工作内容,包括需求分析和设计,前端主要工作及分工,后端主要工作及分工。
3. 关于沟通方式
在项目的实现过程中,完成不同功能模块、前端与后端的人员需要进行大量的沟通,以便进行不同功能模块的合并或连接以及前后端的衔接,因此,一种有效的沟通方式能够减少沟通成本,提高沟通效率,从而推进项目的进度,减少成员负担。我们主要采用两种沟通方式:
- 可视化图形结构
- 文档
可视化图形结构主要用于前期的需求分析与设计,各种UML图帮了很大的忙。项目前期阶段我们使用Umlet绘制了用例图、活动图、领域模型、状态模型等图,使用modao工具设计了UI界面图,这些图代替语言,让成员们更好地理解,后续工作的开展也是按照这些图进行的,保证了项目朝着正确的方向进展。
前后端的数据主要是通过API交互的,而如何使用后端编写的API已经通过API文档详细描述了,所以前端工程师只需要依靠一个API文档,就能顺利开展相应的工作,省去了与后端人员沟通的很多麻烦。
PM个人总结与反思
首先,本次的项目是我真正意义上的第一个团队项目,一开始就从团队的角度出发。以往的项目大多是个人独立完成的,即使是小组,成员间的工作也较为分散,通常是各做各的,缺少沟通和合作,而且也没有总体的规划,常常是脑子里想到什么就开始写代码了,这样会导致代码结构混乱,写代码的效率低下,修改代码所花费的时间较多,而且常常由于沟通不够导致衔接出现问题,或者是重点方向出现偏差,最终需要重写代码等问题。而本次的项目不是从写代码入手的,而是从人员的分工开始,每个人以自己擅长的领域着手,前端或后台,分工明确。
第一次尝试项目经理这个角色,对团队合作有了更进一步的了解。其实团队合作是需要靠人指挥和带动的,否则成员可能会出现怠惰的现象,一拖再拖,而项目经理就是起到这样的作用,规划项目的进度,监督成员们的工作,促进成员间的交流合作。作为项目经理,我并没有完全尽到相应的责任,中间有段时间忽略了项目的进展,项目的进度停滞了2-3个星期,导致项目最终的成果与预期有部分偏差,这是我需要反思的地方。
总体来说,我觉得我们小组的成员为了这个项目都付出了很多工作,最终看到项目的成果我也觉得很有成就感,通过这个项目我学会了很多,带给我的经验也是非常有用的。感谢所有同伴及老师的帮助。