Cadance(迭代速度)的概念帮助我们理解不同团队的运作模式。按照迭代速度的差异,创业公司的工程团队一般分为三种:产品团队(product team),平台团队(platform team)和基础设施团队(infrastructure team)。这三种团队运作的迭代速度、运作模式、所面临的管理挑战、以及克服这些挑战的策略各不相同。

产品团队专注于快速启动和更新产品,因此迭代速度最快,在极端情况下每个月都需要重新做规划才能够适应市场变化。平台团队专注于为所支持的产品团队提供服务,迭代速度适中,基本可以以季度为单位执行计划。基础设施团队提供全公司范围内的基础设施服务,迭代速度最慢,其推出新产品往往需要半年到一年的时间。

产品团队围绕产品运作,因此产品经理是主要的推动者。平台团队在提升同平台稳定性开发效率的同时还需要支持和参与产品团队的开发工作。因此他们主要由工程师来设定团队目标,但同时也会参与到产品开发的支持和讨论当中。基础设施团队的项目则基本以工程师为主导。

  • 产品团队

产品团队跟用户靠得最近,因此可以近距离地感受到工作带来的用户体谅、体验和效率的提升,这往往可以带来巨大的成就感。但产品团队变化太快、重复性工作较多、技术深度较浅、没有足够的空间做扩展性良好的设计等都是领导产品团队的巨大挑战。变化迅速有时候导致产品中途更改需求变化方向;早期上线的产品往往缺乏有效的运营工具因此需要大量的手动维护;产品领域以业务逻辑为主,技术栈较为简单,另一方面快速迭代的过程往往让工程师没有时间设计扩展性强的实现。对于追求技术的深度和美感的工程师来说是一个不小的挫折。

领导产品团队的重点是在产品需求的快速变化和团队的专注程度之间保持平衡。首先需要跟产品经理建立合理的预期和工作流程。比如为了帮助工程师保持专注,产品需求改动需要首先经过经理的评估和确定优先级。另外,需要平衡技术债务和产品更新之间的投入比例。产品迭代过程中所积累的技术债务会大大升高开发和维护成本,甚至导致产品无法有效扩容。工程经理需要跟产品经理确定技术债务的比例,保证技术栈得到不断优化。第三是合理的设定开发周期避免过多的草率的改动。

  • 平台团队

平台型团队主要提供后端和平台化的服务来支持产品。平台型团队以工程指标为主导,其主要目标是提供高效率的平台以帮助产品快速发展,同时帮助产品解决扩容等问题,使得产品团队得以专注于产品的更新。平台团队不直接主导产品开发,但通过两个途径来参与甚至推动产品更新。第一是参与到需要平台更新的产品研发当中,第二是为了优化整个平台的性能和效率主动推动产品模型的更新。

平台团队同样面临诸多挑战。第一容易变成产品团队的支持,因为几乎所有的产品研发都需要经过平台和后端服务,因此容易变成支持团队,而缺少主动项目研发的机会。第二,平台团队推动性能和效率提升往往需要产品团队的相应配合,比如产品端需要逐渐迁移到新的服务等等,但是因为缺少和产品团队的直接关联因此有时候推动乏力。

解决第一个问题的方案,第一是主动和产品经理团队建立联系,寻找产品团队经理的支持,比如性能提升也可以对用户体验带来提升,第二是推动开源模式,欢迎产品团队到平台团队的代码库中进行改动,同时平台团队提供支持,同时优化整个研发的流程和效率。解决第二个问题的方案主要是在优化平台的过程中解锁产品团队所需要的特性,比如通过新的平台设计使得某些产品特性可以得到支持或者更加容易得到支持。

  • 基础设施团队

基础设置团队则聚焦于为整个工程团队提供研发和服务的基础设施。其提供的服务往往十分通用,工作的目标是提升整个技术设施的效率、可用性和稳定性。基础设施团队完全不参与到产品研发当中。创业公司的技术设施往往搭建在第三方服务的基础上,很少需要自主研发,主要以运维为主。基础设施团队招聘到的往往是在该领域有多年经验的自身工程师。

基础设施团队的挑战来自外部和内部。外部需要避免陷入到无限的救火和支持当中,需要培养产品团队自主解决问题的能力,以保证在面向未来的项目上有足够的投入。内部需要避免陷入到各自为战的处境中。基础设施团队往往领域极深,工程师极为经验丰富,喜欢自己主导。需要促进彼此之间的协作,逐步形成梯队。