"We never have any conflict in our team"!
For me that is a really, really sad sentence. I really love to work with teams without quarreling and bickering – but I very much hope that there is conflict.
The meaning of conflict
What is `conflict´ after all? According to the english Wiktionary conflict is:
Noun conflict (plural conflicts)
- A clash or disagreement, often violent, between two opposing groups or individuals.
[...]- An incompatibility, as of two things that cannot be simultaneously fulfilled.
[...]
And while almost everybody thinks about the first interpretation, the second one is equally valid and extremely valuable to recognize.
It's all about managing conflict - and that's a good thing
This is yet another thing that popped up when Tom and I prepared our hand on Agile and lean practices course - a lot of the techniques in lean and Agile are there just to handle conflicts in a reasonably civilized way:
- We prioritize work-items because they are competing for development time - there is a conflict for the time
- We queue deployments - there is a conflict for the deployment machine
- We use A3 reporting to point out conflicting interests.
- etc.
Recognizing conflict is an enabler
Without recognizing conflicting interests as such there is no way to resolve the conflict - take the original idea behind (non-automated) continuous integration: Software developers in the nineteen-nineties realized that they ended up with incongruent systems, when they all just committed their work to a central repository whenever they had a working result.
Apart from testing mechanisms and some other technical details, there was also a hidden conflict - the conflict for exclusive access to the system for modification. Recognizing this conflict enables people to find solutions. In the original example from Kent Beck, integration happened only on one machine, thus mediating the conflicting request for access to the system by queueing them. Denying this conflict on the other hand prevents solutions.
(Or this denial leads into misguided attempts on Jidoka like continuous integration servers which should really be called build servers and more often then not are just used as a fig-leave ... but that is another story – which will be up here shortly).
Conflict, there's just no way around it…
…but there are many ways to handle it wisely - by applying tools and techniques to resolve or manage it. As with change in the subtitle of the first eXtreme Programming (XP) book, fighting it only makes it worse. In XP they say "embrace change" - the same is true for conflict if handled responsibly "embrace conflict".