由于我在团队中担任项目经理,所以在这个项目的开发过程中,我主要负责协调工作、安排任务和检查进度。在团队合作的过程中,我对项目和团队的管理有一些粗浅的经验,在这里我想做一点总结。
我获得了以下经验:
1.团队成员必须有明确的分工
这是一项非常必要的任务,具体的职责范围应该在项目的前期就明确。一旦过程中出现任何问题(例如。停滞或偏离),很容易找到所管辖的同学分工,从而防止相互推诿。
在划分分工的时候有几点需要注意:
尽量保证每个人的总工作量相同或相近。相对公平是必要的,但涉及到一个麻烦的事情:如何估算各部分的工作量?
就我们而言,我们首先要经过一个小组会议,一般确定每个任务的人员、时间和人数,并得到小组内部的一致同意。然后,按照大致相同的人、小时和总数来划分。
尽量确保将团队成员的工作分配到其现有技能池中的现有任务中,从而将学习成本降至最低。在这一点上,我们首先选择自己的任务,最后划分一些大家都需要学习的任务,这样才能保证大家的学习成本不会太高。
分工必须尽可能明确。以往的经验告诉我们,在分工不明确、有交集的领域,后续的合并工作会非常痛苦。所以,我们在划分工作任务的时候,要尽量讲清楚。但是,在需求文档完全完成之前,很难实现完全的分工,所以我们将继续明确分工。
2.定期的团队会议是不可或缺的
因为我们的团队成员来自不同的专业领域,所以他们的空闲时间是不一样的。因此,团队会议成为项目的主要讨论时间。
团队讨论在项目开始时非常重要。首先,项目前期需要开工的文件很多,需要讨论分工,确定互相负责的部分;其次,团队会议可以让前期需求分析更简单,把大家的意见摆到桌面上讨论总结,基本完成前期需求分析阶段;此外,团队会议可以确定每周迭代开发的工作量。因为其他班的任务每周都不一样,有可能每周的人数、课时、小时每次都不一样。通过会议,大家会说明自己本周的大致空闲时间,然后确定本周的迭代任务。
我们的团队会议流程大致如下:
开始会议确定讨论主题开始讨论记录整个讨论过程获取讨论结果确定下周迭代任务结束会议,更新项目计划文件整理会议记录,获取会议记录产品。
我们的会议频率是一周一次,每次会议经常在90分钟左右。
3.作为组织者,你需要知道每个人的任务
我觉得这是从之前的项目经验中获得的经验。关键是如果任务不明确,就没有办法及时跟踪进度。
有很多方法可以理解每个人的任务,我使用以下方法:
1.在团队会议中,团队成员一起讨论和发言,解释他们本周工作的主要任务以及获得了什么产品。
2.在Tower上发布任务后,让整理者自己填写工作细节。
3.私下问组员,把剩下不清楚的地方记录下来。
理解任务就是对每个人完成工作的能力有一个大概的了解,这样才能让任务安排得更加合理。简单来说,那些能做更多工作的人,但是在一般公平的前提下。
4.偶尔承担额外的任务
不用说,当你完成这个项目时,你总是
会遇到大家都觉得比较麻烦的“硬骨头”,这时候组织者有两种选择: 要不指定组员完成;要不自己完成。目前这种情况并不是很多,所以我都选择了自己去把一些简单但是繁琐的任务给完成了。这种额外任务还可能出现在小组成员突然有些其他的事需要完成(例如猝不及防的其他课程ddl)。这个时候可能也需要有人站出来及时完成这周迭代工作。(这种情况的话下周会适当增加该组员的任务)
5. 及时跟踪团队进度
团队进度的保证是所有团队工作的基础。每次迭代的工作一定要务必确保按时完成。就像老师上课说的:宁可少布置一些迭代任务,也要保证工作按时完成 。
跟踪团队进度的话,主要有以下几种方式:
小组讨论,汇报工作;这是一种很常见的形式。 当面交流能够很迅速的把工作交代清楚;
通过Tower来跟踪每个子任务的完成情况。当然这需要完成者自行添加上自己任务的子任务, 这样之后只需要检视子任务的完成情况(即完成与否), 就能够大致了解本次迭代的进度了。
以上是对进度情况打的大致了解, 最终还是需要检查本次迭代的制品,这才是确保任务真实完成最直接有效的方式。制品的检查可以是自己一个人审阅, 也可以是和非该工作的完成者的其他组员共同审阅,便于发现问题。
以上就是我这几周的项目工作经验总结、目前项目还处于初期阶段, 相信接下来的开发过程应该会有更多经验与大家分享。