Achieving independent value streams in software development requires a loosely coupled software architecture. Loose coupling in the software means lower change coupling across value streams, resulting in few organizational dependencies that affect flow. For some leaders, grasping the importance of loosely coupled architecture takes time. But there are no quick fixes to address the technical requirements of fast flow; doing the hard work of confronting the legacy systems cannot be avoided.
The first step to a loosely coupled software architecture is grasping a deeper understanding of loose coupling. Even engineers can struggle with this somewhat nebulous idea, as there are no established standards for describing coupling in software. However, there have been attempts to develop models for describing coupling. This chapter introduces Vlad Khononov’s modern approach.