There are many ways to break dependencies, including, as above, moving from a monolith to independently testable and deployable components, service virtualization (to mimic the work having been done on a dependent service), feature toggling (so that the work can be shipped, toggled off), shared code ownership, and in some cases seeding developers onto other teams (alleviating human dependencies). Your choice will be unique to your context. Most important is the capability to inspect and adapt and continuously improve. Habitual behaviors and the support you have is important in building
...more