Application Modernization Using Boris Exercise – A Component of the Swift Method

Application Modernization Using Boris Exercise – A Component of the Swift Method

Management Summary

The Boris Exercise is a collaborative system analysis technique used within the Swift Method to support software modernization. It enables teams to visualize service interactions, define logical service boundaries, and map communication flows using graph-based representations. This approach supports the decomposition of monolithic systems, highlights coupling and redundancy, and aligns architecture with domain driven design (DDD) principles. The exercise generates actionable insights documented through the SNAP E format and supports adoption of patterns like CQRS and event driven architecture. It improves cross-functional alignment, accelerates architectural decisions, and reduces modernization risk.

Introduction

The Boris Exercise is a hands-on technique that helps teams to translate domain knowledge into a clear architectural view of system behaviour. It enables architects and developers to collaboratively map out service interactions, define system structure, and visualize how data flows across components. By focusing on how the system should ideally function, Boris supports informed decisions around service decomposition, integration design, and modernization strategy.

Why Boris Exercise?

Modernizing legacy systems is rarely simple. Teams often face challenges like unclear service boundaries, hidden dependencies, and outdated documentation. The Boris Exercise helps tackle these issues directly by offering a structured, visual, and collaborative way to understand how systems behave.

Simplifying Complexity with Boris

Legacy systems often grow without a clear structure. Boris helps teams make sense of this by visually mapping how services interact, where data flows, and who owns what. This makes it easier to spot tight coupling and duplication.

Lowering Modernization Risk

Modernization can go off track when teams do not fully understand the current system. Boris reduces that risk by producing clear and actionable insights captured in the SNAP E format to guide smarter decisions.

When to Use the Boris Exercise?

The Boris Exercise is most effective after Event Storming, when teams already have a shared understanding of business events and domain boundaries. It helps transition from domain discovery to architectural modelling, making it ideal for:

  • Planning modernization of legacy systems
  • Designing new service-oriented or event-driven architectures
  • Aligning cross-functional teams on system structure

Visualizing Boris in the Swift Method

Article content

This layered view shows how the Swift Method progresses through key phases:

  • Event Storm: The starting point where teams identify business events and define domain boundaries.
  • Boris: The next step, where system behavior is visualized by mapping service interactions and communication flows.
  • SnapE: Insights from Boris are documented using the SNAP E format to guide architectural planning.
  • Tactical Patterns: Teams apply architectural patterns like CQRS and event-driven design based on the insights gathered.
  • Backlog: Actionable items are prioritized and added to the implementation backlog.

 How to Perform the Boris Exercise

Preparation

Before starting, it is required to conduct an Event Storming session to uncover key business events and domain boundaries. The Boris session builds on this foundation. Whether using a physical whiteboard or a digital tool like Miro or Lucidchart, teams prepare sticky notes, arrows, SNAP E templates, and a legend to guide the exercise.

Prerequisites for Boris Exercise

At this point, it’s helpful to get clear on what’s needed to run the Boris Exercise and what it’s meant to deliver.

To get started with the Boris Exercise, we need an essential input: a shared understanding of the domain events (usually from Event Storming), domain knowledge from subject matter experts, any existing system documentation, and a visual tool like Miro or Lucidchart. These help to understand how the system works and how different services connect.

Identify Bounded

Contexts Place sticky notes for each service or domain and group related ones to visualize the system. Use blue for services, green for queues or topics, and red for external systems.

Map Communication

Flows Show how services exchange information. Focus on how messages move between them. Use black arrows for direct calls and green arrows for messages sent through events or queues.

Add Integration Points To complete the picture, teams add queues, external systems, and shared services. This step highlights how different parts of the system connect and where dependencies or integration challenges may exist.

Facilitate Discussion

Open discussion is encouraged throughout the session. Simple questions like “What goes in and what comes out?”, “Is this better as a direct call or an event?”, or “Do we need to think about logging or security?” can help uncover important details and lead to clearer decisions.

Insights from the Boris Exercise

After the discussion, the Boris Exercise gives you a clear and easy-to-understand map of your system. It shows the different areas (bounded contexts), how they interact (communication flows), and how they connect to things like queues or external systems (integration points). It also captures important decisions made during the session. This map helps keep everything clear, makes it easier to spot missing parts, and supports better planning for improvements.

 Ways to Perform the Boris Exercise

  • In-person workshop: Ideal for co-located teams using whiteboards and sticky notes to collaborate quickly and visually in real time.
  • Remote/digital workshop: Perfect for distributed teams using tools like Miro or Lucidchart to map services and flows collaboratively online.
  • Hybrid approach: Combines physical and digital methods, allowing both in-room and remote participants to contribute effectively.
  • Asynchronous session: Enables team members to add insights to a shared digital board over time, offering flexibility across time zones.

Visualizing Boris Exercise

Article content

The Boris Exercise visualizes how services, external systems, and event channels interact within a legacy application. It maps synchronous and asynchronous communication flows using directional arrows and color-coded components.

Sticky notes highlight architectural decisions and areas needing further analysis. This output supports modernization by revealing coupling, integration points, and opportunities for event-driven design.

It enables teams to identify modernization priorities and plan service decomposition effectively. The visual clarity accelerates architectural decision-making and reduces transformation risk.

Business Impact and Use Cases 

C&CA Specific Use Cases

Service Decomposition for Legacy Modernization

The Boris Exercise can assist C&CA teams in understanding complex legacy systems by mapping service interactions. This approach supports the structured decomposition of monoliths into microservices, aligned with domain-driven design principles.

Cloud-Native Architecture Planning

The Boris Exercise can support C&CA teams in designing cloud-ready systems by mapping service interactions and identifying where asynchronous or event-driven patterns are suitable. 

Integration Mapping for Custom Applications

Teams can better understand how different systems and services connect by mapping the flow of data between them. This makes it easier to design clear and dependable integrations, especially when building or updating custom applications.

References and Important Links

https://www.swiftbird.us/boris-exercise

https://labspractices.com/practices/boris/

https://www.infoq.com/news/2019/10/swift-method/

 


 

To view or add a comment, sign in

Others also viewed

Explore content categories