|
系统架构师:系统必须不断调整,否则就会逐渐变得不那么令人满意。1
系统必须不断调整,否则就会逐渐变得不那么令人满意。 ----Manny Lehman,“软件进化的度量和规律” 系统架构师 系统架构师负责定义和传达ART开发的解决方案的共享技术和架构愿景。 这有助于确保正在开发的系统或解决方案符合其预期目的。 详情 系统架构师在将敏捷发布序列(ART)团队与共享的技术方向保持一致方面发挥着关键作用。他们与团队合作: 完善系统架构 验证技术假设 评估实施备选方案 创建持续交付管道 在不属于解决方案序列的 ART 中,系统架构师还履行解决方案架构师的许多职责。 为了有效地驾驭系统架构的复杂性,ART 可能会让多个系统架构师指导系统架构的不同方面,共同实现共同的业务目标。 关键合作 系统架构对解决方案、开发解决方案的团队以及更广泛的企业生态系统产生重大影响。因此,系统架构师的一项关键职责是与 ART 内外的各种角色、团队和利益相关者合作。这些交互的主要目标是确保 ART 推进系统架构,以支持不断变化的业务需求并实现快速可靠的实施。系统架构师的主要协作如图 1 所示。 最关键的交互出现在以下领域: 引导 ART – 系统架构师与产品经理和发布序列工程师 (RTE) 合作,为序列提供必要的指导。在这种关联中,产品经理帮助定义业务优先级,架构师确保架构支持需求,而 RTE 为序列的核心流程提供必要的便利。此外,系统架构师以及 RTE 和产品经理与 ART 的业务所有者合作,以确保与组织的更高战略意图保持一致。其中许多交互发生在 PI 边界附近,用于准备 PI 规划和期间。除了指导解决方案开发工作外,这三个角色还领导 ART 的价值流管理活动。 在解决方案/企业架构上保持一致 – 系统架构师主动与企业架构师合作,以确保 ART 与组织的技术环境保持一致。但是,当序列正在处理涉及其他 ART 和供应商的大型解决方案时,系统架构师将与解决方案架构师(以及解决方案序列中的其他系统架构师)进行交互。这项工作包括定义和支持使能者功能的实现、技术的一致选择和使用、法规遵从性、标准和更高级别的非功能性需求 (NFR)。 发展系统架构 – 系统架构师定期与敏捷团队(包括产品所有者和 Scrum Master/团队教练)进行交互,以确保系统设计根据共同的架构意图和实施的实际情况进行发展。其中一些交互发生在 PI 规划中,架构师确保团队与架构愿景保持一致。但是,在整个 PI 执行过程中,协作仍在继续。在这里,架构师和团队共同努力,根据实施中出现的新事实来学习和调整行动方案。 与其他组合作 – 系统架构师通过系统团队和共享服务等小组解决其他问题。与系统团队交互的目标通常是为系统集成和测试建立最佳架构和流程。通常,系统团队会大量参与实现关键的架构推动因素,这通常会导致与系统架构师建立密切的工作关系。根据上下文,与共享服务的交互可能涉及让系统架构师帮助设计部署管道,以及信息体系架构、法规遵从性问题、信息安全、指标检测等。 责任 系统架构师的职责包括图 2 所示的五个方面。 本文将进一步介绍每个领域。 使架构与业务优先级保持一致 每个解决方案体系结构的目的都是支持业务价值的开发和交付。与业务意图保持一致是系统架构师职责的多方面领域,其中包括: 定义推动因素和架构跑道 – 系统架构师将定义必要的推动因素,ART 将逐步建立跑道以支持预期的功能。架构师的职责是不断定义、调整和支持旅程。循序渐进的定义新的功能和推进跑道,在每个 PI 边界都有关键检查点。 参与解决方案定义 – 作为设计思维的一部分,架构师通常密切参与定义解决方案。为了使解决方案构思有效,它必须与解决方案序列的技术和实施能力的现实密切相关。架构师在这方面提供了关键的见解。 定义系统 NFR – 系统架构师为解决方案定义非功能需求 (NFR),并确保架构将支持所需的 NFR。 系统架构师还协助解决方案序列确定保护和监控 NFR的具体措施和必要的仪器。 确保实现工作的能力分配 – 提升架构能力需要团队的时间和精力。系统架构师与产品经理合作,为架构工作分配适当的容量,这在准备每个 PI 边界和 PI 规划过程中进行。 定义和传达架构愿景 当今技术解决方案的复杂性可能令人不知所措的;为了减少对团队的影响并保持生产力,架构师承担了向团队和 ART 的其他成员传达明确的技术意图的重要角色。这与系统设计和实施策略保持一致,最终导致更快、更可持续的客户价值流。为了实现这一目标,系统架构师将执行以下操作: 在 PI 规划期间向团队展示架构愿景 – 系统架构师在每个 PI 边界之前更新架构愿景。在 PI 规划期间,建筑师将愿景作为简报的一部分呈现,并在其余的规划活动中为团队提供服务。架构愿景不断更新,以适应与即将到来的 PI 相关的新的和必要的技术方面。 提供有关实现愿景的指导 – 在 PI 执行期间,系统架构师与团队保持同步,并根据需要提供进一步的指导。由于在实施过程中出现的新见解,初始架构愿景会发生变化,这是很常见的。架构师确保团队在实施过程中遇到的所有系统设计问题都得到解决。 敏捷性和变革架构师 – 为了有效地响应变化并接受开发过程中出现的新事实,系统设计必须实现灵活性(有关更多详细信息,请参阅敏捷架构)。允许保留选项的有用工具包括在系统设计和基于集合的工程中平衡、有意识地使用抽象。 与团队合作改进系统设计 任何架构都需要不断调整。因此,架构师的一个关键角色是与团队建立可持续的互动,这将有助于揭示架构意图的不一致之处,并协助ART进行必要的改进。这是一个持续的过程,是一个调整意图和从实现中学习的循环。在这方面,系统架构师专注于以下领域: 支持架构实验和峰值 – 系统架构师与团队合作定义和实现关键实验,以最少的开发工作量验证架构理念。由于未经测试的架构假设在被证明是不正确的时可能会付出极大的代价,因此这大大减少了返工量。 与团队合作进行最佳系统设计 – 架构师经常与团队互动,以提供新的输入并获得有关当前架构意图的反馈。这种协作通常作为 PI 规划、系统演示以及检查和适应的一部分进行。此外,每当需要重大的架构开发时,架构师可以参与单独的团队活动。系统架构师提供持续的指导,帮助团队获得系统设计的全局视图,并在推进跑道以支持新业务功能时增加他们的专业知识。为了促进对架构方法和解决方案开发中涉及的技术的共同理解,系统架构师通常会参与技术实践社区 (CoP)。 使架构意图与实施的现实保持一致 – 架构师确保架构愿景中表达的期望与团队能力、技能、工具等的现实之间没有实质性的差距。为了实现并继续进行这种一致性,架构师必须与团队和解决方案资产保持密切联系。这通常是通过让系统架构师直接参与创建解决方案资产或同行评审来实现的。此外,对于架构师来说,直接参与团队进行的架构研究高峰是有帮助的。 培养内在质量并关注 NFR 在许多方面,体系结构决定了在不破坏旧功能的情况下实现支持新功能质量标准的新解决方案功能的难易程度。同样,架构也会显著影响 ART 实现和维持解决方案 NFR 的能力。为了支持这些关注领域,系统架构师执行以下操作: 促进支持内置质量的系统设计 – 系统架构师定义了帮助 ART 将学习向左转移并及早发现问题或从一开始就预防问题的架构。松散耦合的架构、严格遵循的设计和编码标准以及持续的重构有助于保持系统的健康。这样可以提高代码和其他解决方案资产的可测试性和可维护性。 关注系统 NFR – NFR 对解决方案的可行性和可持续性有显著影响。如果在整个开发过程中没有得到充分的关注,它们可能会造成大量的返工,甚至阻碍整个解决方案开发工作。系统架构师为序列提供持续指导,以帮助逐步构建和维持 NFR。架构师经常协助团队为新的 NFR 设计有效的实施策略,并帮助创建维护现有 NFR 的标准(其中一些反映在相应的 Done 定义中)。 支持 DevOps 和持续交付管道 系统架构与客户价值交付有着千丝万缕的联系。这是因为架构可以使价值交付成为团队和利益相关者可以控制的快速、渐进的过程,也可以使价值交付成为一场噩梦,具有不可预测的时间表和对客户和业务的严重后果。此外,持续交付管道 (CDP) 的结构需要以最能支持 ART 需求的方式进行定义。 参与发布治理流程 – 系统架构师帮助 ART 以支持增量价值交付的方式开发系统架构。此外,系统架构师还提供有价值的意见,并评估特定版本的技术影响。 支持CDP的设计 – 系统架构师促进持续交付和DevOps的想法。它们还帮助团队定义部署管道的特定体系结构、环境、采购以及所涉及的必要工具。作为这项工作的一部分,系统架构师帮助 ART 确定合适的基础设施配置。这通常包括使用云架构来增强 CDP 的可扩展性和灵活性。 启用指标检测 – 系统架构师促进系统设计,支持所有必要指标的实施。这涉及适合任务的特殊平台和工具,以及与解决方案的适当集成。此外,系统架构师通常负责通过设计工作原型或在解决方案本身中创建特定功能来支持 LeanUX 中用户行为的实验和测量。 |