Let me begin by saying that dependencies between Stories is not a bad thing when they all live within the same Product Backlog.
But what if we have dependencies on teams/people who are outside our Product teams where such work resides outside our Product Backlog?
Imagine we are preparing an elaborate meal (our product) this evening for a special occasion and we've all the ingredients in our larders/store cupboards but we're missing a few things. So we go to the local store only to find they dont have it in stock. They may order it in but it wont arrive for another few days.
- Perhaps we didn't plan adequately ahead of time
- If the occasion was suddenly thrust upon us (an immediate business opportunity that arose today), then we had to act upon it only to find we dont have 100% of what we need to exploit that opportunity in full
- We need to rethink what we plan to prepare and cook only those courses we have ingredients for
- Perhaps we can prepare the entire email as planned but without the missing ingredients if they're not that vital to the dish (our Minimal Viable Product! MVP)
- Improvise with what we have.
- Or in extreme circumstances, if the ingredients are so fundamental, then we may need to cancel the event or subcontract to a caterer (a vendor) who can fulfils our needs but at great cost
- Business Value is at risk of not being delivered to market as soon as we'd like
- We are dependant on external-actors over whom we have no control or influence over (I'll come back to this later...)
- By the time the external-actors have delivered, are our Stories that depend on them still business-relevant? Has the lag time decayed their market/customer impact? We may have missed a strategic window of opportunity.
- Stories are de-prioritised while we waiting on the other teams to deliver their bit.
- Little control/influence over how the work we depend on is prioritised within those external teams.
- Little control/influence over the quality of the work that external actors deliver
- The risk of inter-team acrimony can arise where we set expectations that we need our external partners to deliver by a certain date only to be told that they can't deliver by that date due to their own priorities. If this is mishandled, it could sow baleful seeds of bad-blood and poor working relationships which in turn harms our common business and aims both in the short and long term.
Consequences of Reprioritisation
When we are forced to de-prioritise what should have been a high priority Story due to external dependencies, it means we have to give higher priority to a less business-value-adding Story just to keep our teams busy.
Ok, we still have work to be getting on with but it means that we are forced or tempted to release code to our customers which may be premature or not that value-adding to them or our business.
Root Causes
Why can't we do this work within our product teams?
Some common causes (there could well be others):
- Organisational Structure
- If organisations are not truly restructured along product lines, then the above situation will be run into time and time again.
- Organisations need to examine their departmental structures and seriously consider restructuring to minimising the exposure to inter-application/team dependences which only serve to slow business delivery down and lower morale of all concerned
- Lack of Cross-Functionality/Training
- Perhaps this is work we can do within our teams but we haven't considered retraining our people to be T-shaped so that when such work is needed, we can't do it internally within our teams. IF we did, we would have maximum control over the destiny of our product and what we deliver and when.
Transformational Opportunities
Transformation should always start from the top of an organisation.
Often, the way orgs are structured are a legacy from the pre-Agile world and there's an onus and responsibility for us all to plan a considered and respectful case to those who are in charge of organisation structure where:
- We provide evidence and case studies where current organisation structures are acting against the interests of the business (slower time to market, time spent in coordinating initiatives across teams which could have been avoided etc)
- We provide alternative structures that will reduce or eliminate as much unnecessary dependencies as possible
- We provide a list of re-skilling/retraining opportunities across the org so as to help product teams be as technically self sufficient as possible
So, Fellow Agilist...
- Have you experienced any of the above?
- Have you helped bring about positive change?
- Do you agree, or disagree? If the latter, that's fine but tell us why?
- Are there any other ways this can be addressed?
We want to hear from you
With the Agile Product mindset still relatively immature in Northern Ireland, do you think any large Org will restructure as needed in the next 10 years? If not, how would you propose to reduce the negative impact of the waterfall legacy during that lag time?
ReplyDeleteThank you. My reply is below
DeleteGood questions. Orgs definitely will NOT enact necessary transformation if no one advises them of the need to do so and why. There’s no guarantee restructuring would takes place even when advise is given but the approach should be something along the lines of:
ReplyDeleteWork our what skills are needed to create or enhance each product
Do we have the right people in place
Suggest proposals for team restructuring along product lines
For those highly intermittent technical needs, those with the skills should form a pool who can be assigned to product teams as needed. Such individuals would become integral to the product team they are assigned to for the time they’re needed. Once their work is completed they can be reassigned elsewhere as needed, almost like a pool of internal floating resources.
Engage management and explain the rationale of the above, the benefits and risks of adhering to existing structures but most importantly and politically, working out what role they play in the new paradigm.
Management are human beings and naturally will fear being redundant or reduced in role or influence. It’s incumbent upon influencers to bring them and indeed everyone on the journey otherwise why would they want to come along?
After all we need management to enact the changes we wish to see.
These are just some initial thoughts but any other ideas are most welcome.