我管理一个由七名开发人员组成的团队,拥有十多种产品和 20 种产品之间的集成。一年前我接手了这个团队,我们一直在努力在整个团队中传播知识。一年前,每个开发人员基本上都是多个产品和集成的孤岛,这让我们非常脆弱。这已经有了很大的改善,我们今天的处境要好得多。这已通过共同开发和结对编程有机地和临时地处理。
最近,一些开发人员提出了一种更结构化的方法来确保我们所有的产品和集成在团队中都是众所周知的。他们希望每个开发人员都对可能被要求对其进行更改的系统承担特定范围的责任。因此,系统 X 中的开发只能由开发人员 x、y 或 z 完成,而不能由开发人员 a、b 或 c 完成。
首先,我认为这是一个好主意——每个人都不应该知道一切。但是仔细考虑一下,我也可以看到这种方法的一些缺点。计划冲刺并确保在这些限制下平均分配工作变得非常困难。我们可能会在开发人员在冲刺结束时无事可做,而其他人负担过重的情况下结束。这感觉不像是一个团队为冲刺负责。此外,我们可能会被迫在 sprint 中进行价值较低的工作,以确保每个人都有工作。
关于拥有一个没有太多漏洞的灵活团队,您是否可以分享任何最佳实践或经验?例如,如果有确切的语言和框架、通用的代码实践、有良好文档记录的代码、经过良好测试的代码和良好的审查流程,那么要求开发人员在许多产品中工作是否现实?还是我们必须将某些开发人员分配给某些产品?