Strategies for handling integration dependencies

In a previous post I outlined one strategy for visualising integration dependencies in Kanban. One thing I failed to mention in that post is there are many other strategies for handling dependencies and a comment from Ron Jeffries prompted me to think more about this. Here’s a few strategies that come to mind for handling dependencies:

  • Develop capability – within the team to remove the dependency (self-serve).
  • Systemic Swarming – In a multi-kanban environment (multiple delivery streams / teams) move people with the right skills between delivery streams to deliver the dependent requirements before returning to their own delivery stream.
  • Consumer Driven Contracts In this article on Martin Fowlers blog, Ian Robinson discusses a Service Evolution Pattern called Consumer Driven Contracts.
  • Fake Objects, Mocks, or Stubs This article from Martin Fowler discusses the differences of these approaches. Think carefully about the consequences of using these approaches from a testing perspective.
  • Queue and wait – move the Story out of flow whilst you wait for the dependent requirement to be fulfilled. Once fulfilled return the Story to flow. This was detailed in my previous post.
  • Planning & Scheduling – Schedule the various requirements to be complete in line with a plan (in my experience the odds of success of this technique are similar to a seven horse accumulator!).
  • Re-Architect – to remove / reduce dependencies (stovepipe solution?).

What other techniques and strategies have you found useful when dealing with dependencies?

Leave a comment

Your email address will not be published.