by Ardiana Spahija
Share
by Ardiana Spahija
Share

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
STAY IN THE LOOP