跳转到主要内容
Chinese, Simplified

语境是关键 - 从中可以理解一切。

-Kenneth Noland

解决方案背景

解决方案上下文确定解决方案的操作环境的关键方面。它提供了对解决方案本身的要求,使用,安装,操作和支持的基本理解。解决方案环境严重影响按需释放的机会和约束。

了解解决方案背景对于价值交付至关重要它影响开发优先级,解决方案意图,功能,功能和非功能需求(NFR)。它为Continuous Delivery Pipeline和其他解决方案级别的按需发布活动提供了机会,限制和约束。

解决方案环境通常由开发解决方案的组织控制之外的因素驱动。解决方案与其上下文之间的耦合程度通常代表架构和业务挑战,即在灵活性与环境之间紧密耦合的交互之间找到适当的平衡 - 通常跨越内部,供应商和客户组织边界的交互。


细节

很少有系统专为自己使用而建造;相反,它们是为其他人构建的,无论它们是内部运营的价值流还是外部客户。这意味着没有任何一个人通常控制或完全理解系统部署和使用的完整上下文。相反,系统在与开发系统不同的环境中运输,部署,安装和维护。即使在内部IT系统的情况下,新开发的系统通常由IT维护和运营团队托管。在这种情况下,由于许多原因,生产环境可能与开发环境不同(请参阅DevOps文章)。因此,了解解决方案背景对于降低风险和实现目标适用性至关重要。

了解解决方案和解决方案意图并使其与解决方案环境保持一致需要经常与客户进行交互。客户了解愿景,并在解决方案背景方面拥有必要的决策权。如图1所示,需要协作。


图1.解决方案意图和上下文相互通知

协作水平在很大程度上取决于解决方案与其环境之间的耦合程度。

为确保这种一致性,客户应尽可能频繁地参与计划增量(PI)计划(以及适用的PI前后规划)和解决方案演示。客户应定期将解决方案集成到其上下文中。这种定期的交互和集成节奏允许基于正确的假设构建解决方案增量,并在客户环境中提供结果验证。双方都在调整背景以实现最佳经济效益方面发挥作用(见“经济框架”文章)。


解决方案上下文驱动解决方案意图

客户的上下文推动了需求,并对设计和实施决策施加了限制。许多这些上下文要求是不可协商的(通常由合规性问题驱动),如果不包括在内,可能会使解决方案无法使用。这些要求属于解决方案意图的固定类别。解决方案上下文的许多方面表现为非功能需求(NFR),并且需要作为解决方案增量的“完成定义”的一部分包含在内。

解决方案上下文还可以规定解决方案意图必须解决的特定内容。在系统的分层系统中,系统意图也可以是分层相关的(参见解决方案意图中的“系统意图系统”部分)。系统上下文定义了如何组织,打包和集成解决方案意图以供客户使用以满足任何合规性,认证和其他目标。


固定与演进解决方案背景

一些解决方案环境是建立的客户环境,解决方案必须简单地适应(例如,“这是我们的系统工作的方式;你必须适应这里”)。在这种情况下,通过解决方案意图对解决方案强加所有解决方案上下文要求。

但是,在许多情况下,新的解决方案可能需要客户部署环境的发展,需要跟踪这些更改。在这种情况下,主动跟踪这些更改非常重要,因为系统和部署环境都必须演变为通用状态。在后一种情况下,固定与变量思维以及通过多个可能可行的解决方案上下文保留选项(请参阅解决方案意图中的“从变量转换为固定解决方案意图”部分)是管理风险的工具。简而言之,更加可变和不断发展的解决方案环境需要更多持续协作。

 

解决方案上下文的类型

了解客户的解决方案上下文有助于确定其系统在其最终操作环境中的打包和部署方式。解决方案上下文的示例可能包括以下环境:

  •     系统系统(例如航空电子系统作为飞机的一部分),产品套件(例如,文字处理器作为办公套件的一部分)
  •     IT部署环境(例如,部署解决方案的云环境)
  •     在不同使用模式中使用的单一解决方案(例如,可以经济地飞行国内和国际航线的单个客机)

系统的系统的解决方案背景

大型系统系统环境中的供应商与客户之间的关系解决方案是一个独特的,层叠的问题,如图2所示。


图2.解决方案上下文包含在系统系统中

供应链中的每个组织都会根据客户的上下文提供解决方案,该解决方案指定了解决方案的打包,部署和集成方式。反过来,该客户为其客户提供上下文解决方案,等等。例如,在图2中,车辆导航系统供应商首先在信息娱乐供应商的上下文中操作,然后在车辆制造商的上下文中操作,最后在消费者的上下文中操作。所有这些上下文都会影响解决方案的可行性,因此必须了解完整的端到端价值链。


IT部署环境的解决方案上下文

在开发供内部使用的软件解决方案时,客户可能是内部的,但是将解决方案提供给生产环境仍然需要上下文。部署必须考虑特定接口,部署的操作系统,防火墙,API到其他应用程序,托管或云基础架构等,如图3所示。


图3.内部IT部署的解决方案上下文

尽可能将部署作为例程是DevOps和持续交付管道的主要目的。

在此示例中,新的客户关系管理(CRM)系统应反映所需的接口,以及如何在最终环境中打包,发布,托管和管理应用程序。


解决方案背景包括投资组合级别的问题

最后一个考虑因素。通常,企业的产品和服务必须协同工作才能实现解决方案的更大目标。因此,大多数解决方案并不孤立;它们也是投资组合层面的关注点。因此,新兴计划(通常以投资组合Epics的形式)也会推动解决方案意图并影响解决方案的开发和部署。

对于内部托管系统,通常还需要与其他解决方案的互操作性,从而进一步扩展解决方案环境。例如,较大的操作价值流(参见Value Streams文章)通常使用来自多个开发价值流的解决方案,如图4所示。


图4.解决方案协同工作以支持完整的运营价值流

每个主题解决方案都必须与其他解决方案协作并集成,以便为运营价值流提供无缝的端到端解决方案。

持续协作确保可部署性

确保解决方案在其上下文和部署环境中正常运行需要持续的反馈(请参阅持续交付管道文章)。基于Cadence的开发经常集成整个系统系统解决方案,以展示顶级环境的里程碑和发布承诺的进展。持续协作有助于确保可以在最终客户的环境中部署解决方案:

  •     客户在PI规划和解决方案演示期间提出并讨论了上下文问题
  •     解决方案管理和客户不断确保愿景,解决方案意图,路线图和解决方案Backlog与解决方案环境保持一致
  •     在客户的上下文中发现的问题通过解决方案看板系统进行影响和解决
  •     了解和共享相关的解决方案上下文知识,环境和基础架构,例如界面模型,测试和集成环境以及测试和部署脚本
  •     解决方案架构师/工程师确保与解决方案上下文接口,约束等技术一致。

因此,开发团队与客户组织内的各种角色之间存在许多协作点。如图5所示,几个SAFe角色与其客户同行一起承担这一责任。


图5. SAFe与客户角色之间的协作

因此,客户和SAFe角色之间的有效协作有助于确保系统满足客户在其上下文中的需求。

原文:https://www.scaledagileframework.com/solution-context/

本文:https://pub.intelligentx.net/safe-solution-context

讨论:请加入知识星球或者小红圈【首席架构师圈】

Article
知识星球
 
微信公众号
 
视频号