我一直很幸运能在一个小型编程团队中工作。我认为与我合作最多的是11位程序员。与数百名开发人员一起进行项目是什么感觉?几千?什么可以缩放,什么不可以?
编辑:感谢您的所有答复!似乎很少有积极的方面:
- 可以在大型代码库上工作
- 更好的内部职业发展
- 员工免受滥用管理的保护(小级别上的-ve大于大级别上的+ ve)
大型团队还有其他好处吗?
我一直很幸运能在一个小型编程团队中工作。我认为与我合作最多的是11位程序员。与数百名开发人员一起进行项目是什么感觉?几千?什么可以缩放,什么不可以?
编辑:感谢您的所有答复!似乎很少有积极的方面:
大型团队还有其他好处吗?
Answers:
我发现官僚机构规模真的很好。
除此之外,还不是很多。大型项目拥有大型团队,因为没有其他方法,而不是因为它(每个开发人员)效率更高。一旦您在效率低下(即知识转移和沟通)中增加了第二个人,便要付出代价。
我从事的最大的项目在5个不同的地点拥有70个左右的开发人员。即使更改一条线也至少花费了一天的时间,尽管部分原因是由于从苏黎世到伦敦的网络连接花费了45分钟以上的构建时间,而启动该应用程序又花费了45分钟。每个文件的签入时间大约为5分钟。我不是在开玩笑。伦敦开发商可以在短时间内完成此操作。
无论如何,您趋向于发现的是,在大型项目中,您将有一堆团队成员,您之间的互动并不多。它更像是一个松散关联的小型项目集合。我曾经读过,即使对于像Microsoft Office这样的大型项目,Microsoft的开发也倾向于将项目分为5-7个开发人员团队。
部分差异还包括大小公司之间的差异:大公司往往具有更多的流程,更多的规则,更少的灵活性等。但这绝不能保证。
不过,这可能对职业发展有好处。在小型公司中,有人必须离开或死亡,然后才能晋升(或公司必须成长,以使团队扩大并向上移动),而在较大的开发部门中,则可以在团队之间移动等等。
另外,有时您会找到一些非常聪明的人来结伴学习。在小型公司中,如此孤立和自力更生可能有助于程序员变得有些“奇怪”,有点像隐士。
当我为武器系统开发软件时,我们拥有大批软件开发人员。由于没有人能满足要求(其中有些是经过分类的),所以这全都与团队以及团队之间的交互方式有关。
配置管理(每晚的构建过程)非常重要。在那些日子里,每天晚上都需要一个大型的分布式计算集群来重新编译世界。
工作授权-将您的时间花在总体总体项目时间表上的正确订单项上-真是令人头疼。下降到0.1小时。增量。
但是最大的交易是变更通知。特别是界面更改。
这是如此重要,他们发明了这种疯狂的两层工艺。大多数工作都用于确保接口更改通知请求(不是通知本身,而是通知请求)具有精心设计的支持软件,该软件带有数据库,报告和诸如此类的内容。
一旦请求被批准,实际通知或多或少就不用多说了。这意味着它实际上是一个单层过程,而请求实际上就是通知。但是,当您进行瀑布式开发时,所有开发人员都必须考虑很长的时间。
由于有这么多人并行工作,因此有了一个配置控制板。所有各种团队经理,再加上一群人的工作仅仅是为了协调变更。
我的第一个“实际”编程工作是与其他军队一起开发国际空中交通管制系统。这是一次非常成功的尝试,我们被认为是能力成熟度模型5级环境。从那以后,我去过中小型商店。那么,哪个是最好的地方?就个人而言,我每天都会去一家规模较小的商店。虽然有些人可能将5级视为圣杯,但对我来说却令人窒息。一切都必须记录,批准,签字等。不要误会我的意思,我肯定会看到其中的价值,尤其是对于像空中交通管制这样至关重要的系统,但问题是您想如何花费自己的时间?天?您是否希望能够自由幻想并实现它们,还是要写要求?也许如果我在ATC系统上待了更长的时间,我可能会升至能够设计和开发的水平,但是即使那需要X年,Y批准数,Z促销数-都规定得很好没有偏差的机会。令人窒息。
最后一件事,总的来说,我发现小型公司的开发人员素质要高得多,这仅仅是因为他们无法隐藏。在一个非常大的公司中表现平平并不难,但是在一个很小的公司中却变得很痛苦,而且它们通常不会持续很长时间。
我从未在大型程序员团队工作过,但是组织规模不断扩大的结果通常是更多的规则。这不一定总是一件坏事!除了使每个人的生活变得困难的规则之外,还有更多规则可以保护员工并确保良好的流程。
我已经看到小型组织中的管理人员摆脱了那些会立即被企业人事部门终止的事情。
我曾经花了一年时间在一个拥有500多人的团队中工作,其中大约200个是开发人员。我们正在提供一个EOA,它集成了几种不同的SOA解决方案。
在实践中,大约有30到50个团队,每个团队都有不同数量的程序员(我们团队中有3个),每个团队负责整体交付物的不同方面。
我曾经工作过的最大的团队大约有15个人(在一家不同的公司中,这只花了3到4个月)。我是团队的技术负责人,早上7点开始工作,我比其他人都早了2个小时,这是我完成自己的任务的唯一方法。
我不想在一个拥有超过8或10个开发人员的团队中工作,对于一个团队来说,有15个开发人员太多(很容易将团队分成两部分,不幸的是,不是我的电话),一个或三个开发人员是一个漂亮舒适的大小恕我直言