从微服务团队看,向下是个体的提升,形成T型人才;向上是进一步的获得授权,形成自治团队。

    一、全功能团队
    案例:开发自己实现单元测试,而不是将写好的代码交给QA测试,能够快速获得反馈。
    微服务团队如果希望尽快交付,最好的方式是让团队具有软件交付过程中的所有能力。
    敏捷开发模式中,团队具备业务分析、开发和自动化测试的能力,测试后将软件包交付给运维人员。
    在微服务的场景下,团队具有业务分析、前后端开发、自动化测试、持续集成和自动化部署上线的能力,团队的目标是将特性更加快速、安全地发布到生产环境上。

    构建全功能型团队需要提升整个团队在各方面的能力,并降低基础设施创建、自动部署的难度。

    基础平台和工程能力团队
    微服务团队是业务使能的团队。需要基础平台团队管理基础设施和工程能力团队提供持续交付和自动化工具的保障。
    提供工具和平台,提供解决方案,问题解决。

    Spottify组织结构
    Squad为全功能团队,每个业务线(Tribe)包含多个Squad。每个Tribe中相同的角色通过Chapter(分会)组织起来,Line Manager负责每个Chapter中成员的成长和绩效。跨业务线的交流和知识分享通过Guild(行会)这样的组织来实现。

    二、全栈工程师
    全栈工程师需要熟悉用户故事的拆分、编码(前端+后端)和自动化测试。还需要掌控基础设施、自动化部署的能力。
    全栈工程师的成长需要团队的培训和个人的学习两个方面努力。T型IT技术人才需要做到一专多能。

    三、自治团队
    自治团队比全功能团队更进一步,负责微服务的整个生命周期。自治团队向前要处理需求的提出,软件的架构设计、技术方案;向后要管理基础设施、服务的自动化部署和微服务发布之后的维护工作。
    Amazon的two pizza团队是典型的自治团队,团队只有SDE一种角色,负责服务的整个生命周期。