Sometimes, devising a cross-functional team is a high order. Is it feasible, and can you afford to assemble a small team that has all of the inclusive capabilities to deliver a vital product? Mike Cottmeyer offers a workaround to this question. What if you break down your definition of “product” into subunit products, so that fewer skills are required to deliver a product?
Think it Through
A product may be subdivided into smaller products according to shared components that the smaller ones have in common. However, Cottmeyer finds that timing dependencies are “evil,” and a major goal of becoming agile should be to remove as many of them as possible. To this end, he comes up with three strategies to decrease dependencies between products and shared components.
The first is to only commit to features in products built on capabilities already present in the shared component. In this case, product teams can request new capabilities from a component team, and the request just sits there until the component team can get to it. No due dates may be set.
The second strategy goes like this:
To minimize dependencies between products and shared components, products can only commit to capabilities that are on the near term roadmap of the component team. In this case, if the component team is stable and has a known velocity… and they can reliably size your request… and let you know where you fit into their backlog… it might be safe to bet on the fact that nothing will change and you can get your capability added in the sprint or release that the component team has planned. This is only safe a sprint or two or maybe a release out.
Lastly, when you want to dare to manage a dependency rather than outright squash it, products may “inject capabilities into the component teams backlog and force a dependency.” This situation is only viable according to Cottmeyer when the backlog and velocity are consistent, as these conditions minimize the likelihood of timetables collapsing.
For more on these heady insights, you can read the original article here: http://www.leadingagile.com/2015/03/3-thinking-tools-for-minimizing-dependencies-between-products/