一个团队的规模维持在多少人最为合适?

简介: 记得刚工作那会,研发部门刚组建不久就 2 人,我和我领导的工作方式他做一个业务板块,我做一个业务板块。那个时候还没有前后端分离概念,我们都是从前到后,一套撸到底。前端页面、后台代码,再到数据库表的设计,外加手工的测试,一个人包办了。

记得刚工作那会,研发部门刚组建不久就 2 人,我和我领导的工作方式他做一个业务板块,我做一个业务板块。那个时候还没有前后端分离概念,我们都是从前到后,一套撸到底。前端页面、后台代码,再到数据库表的设计,外加手工的测试,一个人包办了。

后来,随着业务部门的需求不断增加,团队人数也开始慢慢的增加,人数从开始的 2 个,到4个、7个再到10多个人。人数的增加,研发的模式并没有进行调整,单人负责一个业务板块的方式出现了问题。

比如,流程审批是我构建编写的,当出了问题第一时间肯定是找我,然后解决处理问题。当有一天请假了不在公司,审批出了问题,不能及时的解决,只能通过电话、微信远程沟通的方式教同事解决方案。

或许,有人说可以远程沟通解决也可以,并不是什么大问题。实则不然,假如那个人离职了,接手那人工作的可能要花费很多时间去理解业务,理解代码。另外,比较严重的是信息不透明,各自写自己的业务板块,当出现问题,另外同事不能给予帮助,工作进展无人知晓,只能去问本人,或者去问题领导(假如,那人没有汇报、领导没有关注跟踪,那就…)。这样算不上一个团队,只能算一个个小个体。

所以,在软件开发领域,团队规模和团队的研发方法是多么重要,一个团队的规模维持在多少人最为合适?今天我们来聊聊,学习一下。



团队维持在多少人最为合适?

在软件开发领域,多大的团队规模才是最佳,从而使生产率最大化?有数据显示,如果你的团队规模超过 9 人,那么运作速度其实会放缓。更有数据表示,更多的资源会导致团队运作得更慢。所以,团队规模人数是非常值得关注。

那一个团队的规模应多少人合适?数据显示,一个团队一般是由 7 个人组成,可以多两人,也可以少两人,人数控制在 5 到 9 人之间最为合适。

弗雷德 · 布鲁克斯的著作《人月神话》提出了 “布鲁克斯定律”。简单地说,布鲁克斯定律认为:“为一个延误的 IT 项目增加人员,将导致更严重的延误。” 这就是为什么某些项目启动的时候会进行招人,一旦启动后项目组就不在加人。

劳伦斯 · 普特南是软件开发领域的一位传奇人物,他一生都致力于研究工作时间与效率的问题。他做了一项研究,一个团队究竟维持在多大规模才算合适。他从数百家公司里选取了 491 个中型项目。这些项目都需要设计出新产品或新功能,而不是对固有产品或功能进行修修补补。他根据团队规模对这些项目进行了分类,很快发现,一旦团队规模超过了 8 人,那么项目耗费的时间往往就会非常多。要完成同样的工作量,3~7 人的团队所需时间只有 9~20 人的团队所需时间的 25% 左右。这种情况在数以百计的项目中反复出现。

他的研究成果表明,如果一个项目的参与者超过 20 人,那么与参与者只有 5 个或少于 5 个时相比,需要付出的努力会更多,而且不是多出一星半点。和小团队相比,大团队得花费 5 倍以上的时间才能完成任务。



那造成这样的问题原因是什么呢?

鱼,经常被说记忆只有 7 秒,鱼表示很冤,我的记忆明明可高达几个月。那人呢?国外有一项研究表明,如果你能把短期记忆中的内容与长期记忆中的内容联系起来的话,那么很有可能会记住更多,但人类思维中负责集中精力的那部分,也就是有意识的那个部分,往往一次只能记住大概 4 样东西。所以,我们的大脑一次记住的内容是有限的。

那我们回到 “布鲁克斯定律” ,为什么项目中增加人数反而会降低进度,其中有两个原因。

第一,要培养一个新成员,使其跟上其他成员的速度,需要耗费一定的时间。

第二,**团队成员增加,沟通渠道就会大幅增加,我们的大脑可能根本无法应付这么多的沟通渠道。
**
我们简单的来计算一下,沟通渠道的公式如下:

沟通渠道 = n(n - 1)/ 2 ;n 表示团队人数;

假如,你的团队有 5 个人,那么你们的沟通渠道就有 10 条;如果 6 个人,沟通渠道就有 15 条;......;如果有 9 个人,沟通渠道就有 36 条;沟通渠道如此之多,超过了我们大脑的承受能力,我们根本无法得知别人做什么,而当我试图寻找答案时,工作进度就会放缓。

因此,在多功能 Scrum 团队中,每个成员都必须知道其他人在做什么。每个正在做什么,正面临着哪些挑战,取得了哪些进步,等等,都必须透明,让别人知道。

团队人数过多的话,会影响彼此的沟通效率,可能产生太多相互矛盾的意见,容易导致团队分裂成小团体,每个小团体各行其是,以至于多功能多团队不复存在了,之前只需要几分钟就开完的会,现在可能需要几个小时的时间。

关注团队规模,让你的团队保持小而精。

目录
相关文章
|
开发工具
链游开发的成本考量因素解析
链游开发的成本考量因素解析
|
1月前
|
存储 前端开发 JavaScript
前端技术趋势:在动态变化中寻求稳定
【10月更文挑战第7天】前端技术趋势:在动态变化中寻求稳定
53 0
|
3月前
|
存储 Rust 安全
StarkNet 性能路线图
文章是关于StarkNet性能提升的路线图,讨论了区块限制、Sequencer并行化、Cairo-VM的Rust实现以及Sequencer的Rust重构,旨在通过一系列优化措施提高StarkNet的交易吞吐量和用户体验。
27 0
StarkNet 性能路线图
|
4月前
|
SQL UED
领域模式问题之大模型应用的规模成本增加如何解决
领域模式问题之大模型应用的规模成本增加如何解决
|
4月前
|
数据采集 开发框架 监控
增加软件投入的重要性:提升自动化程度与用户界面设计的价值
增加软件投入的重要性:提升自动化程度与用户界面设计的价值
48 4
|
4月前
|
存储 安全 数据库
系统工程的思想和方法可以帮助我们更好地组织和管理这些活动,以实现企业的整体最优。
系统工程的思想和方法可以帮助我们更好地组织和管理这些活动,以实现企业的整体最优。
|
存储 监控 架构师
十年业务开发总结,如何做好高效高质量的价值交付
软件交付是一个非常复杂的过程和体系,需要保障好每个阶段的质量和效率才能保障最终的质量和效率。本文将尝试从需求交付的前、中、后三个环节来阐述一下如何做高效高质量的价值交付。
142430 3
|
敏捷开发 运维 数据可视化
相较于Scrum, 我更推崇Kanban,帮助团队建立价值交付流,识别瓶颈
最近在学习实践精益Kanban方法,结合自己团队实践Srum的经历,整理些资料二者的差异。相较于Scrum, 我更推崇精益Kaban。
210 0
相较于Scrum, 我更推崇Kanban,帮助团队建立价值交付流,识别瓶颈
|
测试技术
软件成本度量进阶系列之基础软件&基础评估(转载)
当今世上软件类型各式各样,项目做得也是百花齐放、千疮百孔。故我们推出软件成本度量进阶系列文章,分层次去应对这繁花的软件世界。
1226 0