Categories: Articles, News

by Ardiana Spahija


Categories: Articles, News

by Ardiana Spahija


Softhouse developer computer

Technical Complexities 3/3 – by Young Fogelström

In my mini series of complexity, I wrote about:

1️⃣ Authorization, Roles, and Access Rights
2️⃣ Time, Calendars and Events

Now, the third and last area:

3️⃣ Distributed Control in a System with Multiple Separate Subsystems:

In an architecture with multiple subsystems, the challenge is to balance decentralized control with central control or control that moves from one entity to another. Each subsystem needs its degree of autonomy while seamlessly interacting with the overall system. Issues of data sharing, communication protocols, and uniform standards become critical when aiming to avoid fragmentation and ensure a unified user experience.

You can easily imagine a system with mobile devices and a couple of different mobile apps for different categories of roles together with hardware units with embedded software distributed over a large geography and a central system with different services and external dependencies.

Handling these three feature areas separately is often not a problem however, in combination, they often cause headaches when it comes to how to specify requirements, estimate complexity, consider testability and all variants, software architecture, and project organization:

Strategies to enhance success include:

  • Efficient documentation: use the most efficient form to document each category of requirement
  • Defining the primary source for different data types and describing their creation, updating, deletion, and concurrency principles.
  • Interface Specifications, together with a high-level technical inter-dependency map, are key.
  • Automated end-to-end testing

What do you think should be on the red flag list?



/ Young Fogelström– Strategic Delivery Manager at Softhouse

Related Posts


Subscribe to our newsletter.