Managing the Complexity of Software Architecture and Progress with a Guiding Light

Jay Soeur
8 min readAug 12, 2023

--

In software development, software inevitably grows in complexity over time. This complexity is even more pronounced in enterprise software, where teams grapple with the intricate challenges of working with legacy systems that have stood the test of time.

Imagine – new initiatives are introduced, and teams unite to turn these ideas into tangible results. These teams operate with a shared understanding of the problems at hand. However, each team member brings a unique perspective on achieving the common goal. Here’s where the challenge emerges — differing interpretations of the existing system’s functionality, compounded by inadequate documentation, blur the lines of clarity. Ambiguity creeps into architect diagrams as unclear boxes and lines obscure what’s happening within the system. Stale documentation adds to the complexity, challenging reaching a consensus on the path forward. Furthermore, distinguishing between a quick yet temporary fix and a robust, well-considered solution becomes increasingly hazy.

To address these challenges, the collaboration approach named “Light on the Hill” (LOTH) comes into play. Imagine a guiding light perched atop a hill. LOTH acts as a beacon, directing teams through the maze of challenges. It represents a significant, overarching goal that all team members can focus on. When complexities mount, this metaphorical “light” becomes invaluable, offering a clear sense of direction and purpose. It empowers teams to make decisions that harmonise with the broader objectives.

What exactly does the LOTH collaboration approach entail?

It involves a series of organised sessions facilitated by a team member, using tools like workshops, group discussions and various techniques (User Story Mapping, Impact Mapping, C4 modelling and Context Mapping). The main goal of these sessions is to create a clear and motivating vision. This approach ensures everyone on the team understands the direction and works together smoothly. Even when things get complicated, this approach keeps the team united and focused on finding their shared vision or heading towards one. The team owns the LOTH, rotation of facilitators is recommended to ensure collective ownership.

What’s the blueprint for this collaboration approach?

Initial stages — step 1

In the visual representation, the team is presented with various initial actions. They can start by describing the current situation (current state), understanding the problems (problem to solve), or setting up architectural principles.

Establish the vision — Stage 2

After these initial steps, the next phase involves establishing the ‘guiding light’. It’s crucial to have all components of the initial actions in place before moving forward. This ensures a smooth transition to envisioning the future state.

Head towards the light — Stage 3

Next, head towards the light by conducting a gap analysis. This analysis helps create a workable path while highlighting any areas of uncertainty that can be explored further. Followed by discovery and knowledge sharing. This stage is essential for adaptability and progression. For instance, external factors such as market shifts, technological advancements, and customer feedback can impact the guiding light and direction. Given the dynamic nature of the environment, it’s essential to continually assess and potentially adjust to stay aligned with the evolving context. The insights gained from this stage feed back into evaluating the future state. Each progress made is reflected in the current state. This stage is an ongoing cycle that repeats over time. Only ending when the current state is the future state — as more problems emerge, a new light is established, and the cycle continues.

Why these steps?

Current State: Collectively, the team charts out the present state of their systems. This collective endeavour ensures everyone shares a clear, updated understanding of the operational landscape. As their systems evolve, the team is responsible for keeping this current state of documentation. The desired outcome? To ensure that each team member possesses a comprehensive grasp of the present system state.

Architecture Principles: These principles serve as the cornerstone for making architecture-related decisions. They form a framework that sieves out options misaligned with the ultimate objective — the guiding light on the hill. The result? A process that streamlines architecture-related decisions, fostering swifter and wiser choices.

Problem to Solve: Whether it’s an emerging initiative or an idea ripe with potential competitive advantages, the team’s task is to transform these into actionable solutions. The aim? To cultivate a shared comprehension of the challenges at hand and to achieve consensus on the most fitting solution, considering the given circumstances.

Future State (Vision): The destination the guiding light leads to.

Gap Analysis: The pivotal phase in bridging existing gaps, bringing the current state closer to the envisioned future state.

Path Forward to the Light: Navigating complexities requires strategic planning. This phase outlines how the team forges ahead with a clear view of the guiding light, keeping them on track as they venture forward with a course of action.

Discovery and Sharing Knowledge: The discovery process and the ensuing knowledge-sharing mechanisms are vital in the journey towards the guiding light. As unknowns become known, this presents an opportunity to revisit the future state, allowing an updated course of action towards the light.

Not a prescribed roadmap

A roadmap is a detailed, step-by-step guide that outlines the precise sequence of actions, milestones, and destinations. It’s akin to a well-charted route with clear directions, where every turn and intersection is preplanned. Roadmaps are excellent for projects with well-defined goals, stable environments, and predictable outcomes. They work efficiently when the path is known, and deviations are minimal.

LOTH encourages adaptability, collaboration, and continuous learning. It empowers teams to navigate the challenges creatively and make informed decisions in real-time. It’s a reminder that the journey might involve unexpected twists and turns, and the ability to adjust course is crucial.

Who should be part of this collaborative journey?

The journey towards the guiding light involves various stakeholders, each playing a pivotal role in shaping and attaining goals and guiding principles. The roster of participants may vary, contingent on the initiative’s context, the organisation’s structure, and the goals’ scope. Among those who should be actively engaged are:

  • Project Managers
  • Development and Technical Leads (Principals/Architects)
  • Designers
  • Business Analysts
  • Product Owners
  • Quality Assurance and Testing Teams

Collaboration is the cornerstone of successful LOTH implementation. Engaging stakeholders across levels and roles ensure that guiding principles and goals permeate every facet of the initiative.

How frequently should LOTH sessions take place?

This is based on the initiative's needs, the pace of change, and the complexity of your challenges.

Here are a few considerations:

Initiative Complexity: frequent changes, complex challenges, or rapid iterations will mean more frequent LOTH sessions.

Initiative Size: Larger initiatives with multiple teams or diverse stakeholders might benefit from more frequent LOTH sessions.

Change Frequency: Significant changes or iterations would benefit from more frequent sessions to ensure the guiding light remains relevant.

Regular LOTH sessions could maintain momentum throughout the initiative.

It’s recommended to start with a reasonable frequency and adjust based on the initiative’s dynamics, learning from the outcomes of each session and the team's evolving needs.

A Success Story

A recent software initiative by a retailer operating under a parent company. The initiative seamlessly integrated the LOTH approach to rolling out a Loyalty Program Initiative.

Here’s how LOTH sessions played out for the team:

  • They kicked things off by presenting the opportunity and ensuring everyone had a shared understanding.
  • Workshops followed to define the Architecture principles specific to their domain, in line with the broader organisation’s principles.
  • Further workshops were dedicated to capturing the current situation. They drew a map of dependencies to determine which teams were involved and how they were impacted. Context mapping and C4 modelling was the choice of visualisation.
  • To decide on a solution, they sought input from other teams. This collaborative process aligned the team on a clear goal. Architecture Principles guided their decisions and ruled out any options that didn’t head towards the light. Architecture decisions recorded.
  • They designed an architecture that embodied their vision. The system had to support a large number of concurrent users. The future state C4 models reflected an event-based system.
  • A course of action is created with the compassing point in the right direction.
  • To tackle uncertainties, discovery and knowledge-sharing sessions were vital. These sessions brought unknowns to light, either confirming existing assumptions or prompting necessary adjustments to their envisioned future.

LOTH sessions were held weekly after establishing the vision. This was so the current state could be updated as progression was made towards the vision.

The Loyalty Program Initiative met its deadline and seamlessly aligned with the larger vision of integrating with the parent company.

Through this story, LOTH emerges as the central thread that weaves together innovation, teamwork, and progress. LOTH's constant guiding light becomes invaluable as the software landscape evolves and complexities arise. It lights up the path through challenges, giving teams the confidence and clear direction to navigate successfully.

Photo by Natalie Pedigo on Unsplash

References:

--

--

Jay Soeur

I help teams become high performing and build great software - Principal Consultant @ Kodez https://www.linkedin.com/in/jay-soeur-24b84039/