问题描述
在DevOps的背景下,由于自动化的影响,IT团队的规模在一些情况下可以下降,但是是否存在扩展的限制呢?换句话说,在迅速发展的自动化和机器流程自动化(RPA)引入的情况下,有哪些经验法则可以指导团队何时需要增加人员规模?这个问题关乎整个IT部门的人员规模与业务规模、结构和职能的关系,而一个团队的大小由”两披萨团队”的概念定义。
解决方案
请注意以下操作中可能涉及的版本差异及风险,并在进行任何更改前进行充分备份。
保持DevOps团队的动力
首先,不建议直接并立即减少经过DevOps转型的团队规模。这样做最好会导致团队未来不再有改进的动力,甚至可能失去大部分甚至全部优秀的人才。相反,可以采取以下措施:
– 让团队充分认识到他们经历了艰难的转型过程后获得的好处,从而能够将这些好处传播给其他团队,这些团队可能正在进行或已经在进行转型。
– 注重以现有团队提供更高质量的产品/服务,更快地交付,这现在得以实现是因为转型的影响。
– 由于转型的影响,你的业务很可能会加速发展,这会导致你更需要招聘人员。此时,与其培训新员工,不如利用已有团队成员的经验。
– 允许自愿离职为你服务,逐渐有效地缩小团队规模。
然而,通常情况下,DevOps转型不会发生得太快,无法立即实施上述策略。
扩展团队的时间点与方式
在理想情况下,DevOps转型应该大大提高了软件开发和交付过程的可预测性。你应该能够准确地知道现有团队的产能:在特定时间内,你的当前团队可以完成多少质量合格的软件/服务。当你需要完成更多工作,或者需要以更好/更快的速度完成当前团队产能之外的工作时,你就需要扩展团队。具体的细节会根据你在日常活动中使用的流程/方法学来确定,可能是某种敏捷的变体。
何时扩展: 当需要完成超出当前团队产能的更多工作,或者需要以更好/更快的速度完成工作时,就需要扩展团队。具体的时间点可能根据项目进度等因素而定。如果你担心新员工的加入速度以及他们是否能够以预期的速度处理超出的工作量,那么最好是提前进行招聘,基于预测数据。
如何扩展: 表面上看,扩展似乎很简单:招聘更多的人来处理增加的工作量。然而,现实情况可能会比较复杂。即使是一个经过DevOps转型的组织,也不一定能够轻松地扩展软件产品/服务或支持其开发流程和工具。以下是一些需要考虑的因素:
持续集成(CI)的瓶颈: 如果CI构建失败,就无法进行交付/部署,可能导致交付过程中断。团队扩大可能会导致CI过程的性能问题。需要考虑如何有效地处理这种情况,避免团队扩展后的性能下降。参考:传统CI系统中的拥堵问题。
版本控制系统(VCS)的可扩展性: 随着软件存储到代码库中的不断演化,其变更历史也在不断增长,可能超出VCS系统的性能限制。解决办法可能是切换到更具可扩展性的VCS系统,或将代码库拆分成多个存储库。
综上所述,扩展团队的方式可以简化为增加团队规模,以覆盖额外的工作量,从而执行上述策略。
请注意,扩展团队不仅仅是增加人员,还涉及到开发过程和支持工具的演变。这就是一个成熟的DevOps团队所做的事情,也需要在团队扩展战略中加以考虑。
参考链接
请在实施任何更改之前,根据你的组织和具体情况,详细评估和计划团队的扩展策略。
以上是关于DevOps时代的IT团队规模和扩展的问题的解决方案,希望能为你提供一些有用的指