关于大团队是否拆分,以及如何拆分的问题。
大背景是这样的:目前我们的大团队包括产品团队,前端展示层工程师、业务逻辑层工程师、数据层工程师、UED设计团队。此时产品进入维护阶段,但不排除未来一个月后会有一部分人开发新产品。
因为是维护阶段,无非是测试、修复Bug、验证Bug这些任务,按道理说即使不分组,Bug出来了还是该谁改谁改,只要跟踪每个任务状态就好了。但实际上不分组却存在了很大的隐患,我建议把大团队拆为若干小团队。
分成小团队有两种方法,一是按照职能纵向分,各职能为一个团队;一种是横向分,保证每个小团队拥有所有职能角色。我倾向后者。因为这种方法:
- 有利于任务分配,当然前提是保证团队认领任务。团队小了,任务责任人范围更明确,责任更明确。
- 有利于团队内部沟通,形成凝聚力,大团队和小团队的沟通效率有天壤之别,很简单,内部沟通的点少了,效率自然也就提高了。
- 有利于培养团队骨干,原先团队内部的工作分配是以职能划分的,好处是各自团队责任明确,但坏处是各自团队只管各自任务。职能健全的小团队,会促使团队负责人或骨干有效了解各职能角色任务,更合理安排任务,从而正面影响项目进度。
- 有利于任务交叉备份,对于项目进展过程中,最令人头痛的无非是资源问题,项目开展到一半,人员请假或离职,有可能导致项目延期,多数是因为没有人熟悉这块业务,小团队可以更有效的采用交叉备份,每个人做一块任务的同时熟悉一块别人的任务,做到所有任务都有备份人,避免项目因为人员请假或离职中断。
- 有利于团队间的正面竞争,以前大家都在一个大团队里,做好做坏不容易分辨,分成小团队后,经过几轮迭代,就能看到团队战斗力的差距,届时新项目需要启动时,自然而然知道给哪个团队更合适。
综上,分小团队是必要的,保证每个小团队各种角色健全也是必要的。当然每个小团队能够配备1名专业测试人员就完美了。