In Part 1 of Worlds Apart, I alluded to potential tensions between Agile Development teams and the business in the enterprise. If we are to find ways to reduce these tensions and start working more effectively together we need to first understand what’s behind them.
Tensions result from people acting defensively. We all like to believe that we are competent at what we do and any threat that may lead to embarrassment can lead to us becoming defensive. Once we become defensive it’s hard to move forward.
What makes developers Defensive?
Agile developers know the benefit of doing things right, we build in mechanisms that give us fast feedback to expose what’s not right, we understand the cost of slapdash. To this mindset pressure is a threat. If we react to pressure by taking shortcuts we can find ourselves creating software that is more liability than a benefit and have to deal with the resulting embarrassment. By controlling when we take on new stories we can eliminate much of the pressure but any pressure that does feed through can lead to us becoming defensive.
Agile Developers understand the true cost of features and want to be sure that they add value. If this value isn’t visible we can become defensive about taking on the work. Perhaps we should have faith in our business to make the best decisions, perhaps we should go easier on them, we are all working in an uncertain world.
What makes the Business Defensive?
At the front line of the business there is no hiding from pressure. If something needs doing for the customer it needs doing if the customer isn’t to be lost. When developers ask the business to prioritise features that the customer needs, the business risks having to explain to a customer why it’s not there, causing embarrassment and understandable defensiveness.
Left unchecked defensiveness escalates. When one team is being defensive it’s only natural that the other will also reduce their willingness to accommodate the other. What steps can we take to resolve these issues and start trusting each other.
I see 2 possible approaches: The first is to understand each others dilemma and through that understanding except that the relationship will be difficult and that we both need to try to accommodate each other. I hope to address techniques for doing this in future posts. The second would be to remove the boundaries and merge the teams and that’s another subject for future exploration.