Managing Dependencies
Learn how to make stories independent in practice.
How do we make every story independent in practice? It sounds easier said than done when we see it in INVEST (see the previous lesson) criteria. It is indeed challenging from all sides of the equation: development, process, and product management. Effectively, independence means understanding and managing dependencies for each story ahead of time so that we can measure their feasibility and complete them without hick-ups. To tackle this challenge, let us look at techniques of managing dependencies in an organization.
Parent subdomain prescribes child subdomain dependencies
Before discussing techniques for managing dependencies, let us recognize a benefit that we get for free by following the organizational structure from part 2 of this course.
In a hierarchical context map, every parent subdomain is aware of integrations (and thus dependencies) between subdomains or bounded contexts underneath. That is a fundamental guiding principle of organizational structure and the corresponding framework suggested by this book. As we agreed in the respective chapters, all requirements flow from top to bottom in an enterprise. As integration is also a requirement, it will be predefined on the parent subdomain level before reaching any child subdomain and the corresponding development team for implementation.
Therefore, a hierarchical framework for structuring an organization eliminates the complexity of discovering dependencies. There may be exceptions that will redefine a context map due to unforeseen discoveries. However, usually, each subdomain can expect that dependencies and integrations will be predefined for them by their ancestors.
For example, suppose we have introduced a “Rewards Payments” subdomain under “E-Commerce.” How ...