An evaporating conflict cloud
Doing our best doesn’t guarantee success, despite best intentions. How do we identify the behaviours that we want and don’t want, and find the inherent conflicts within the system?
Let’s take one of the problems in the previous article (It’s not rocket science), and see what’s driving it, which may give us a better perspective towards possible fixes.
I’m going to use a tool that I first saw (read, actually) used by Clarke Ching in Rolling Rocks Downhill, which uses a diagram to define the conflicting behaviour, and thence to uncover the assumptions behind it.
1. state the behaviour that you want to get rid of
I said that developers were so pushed for time that they didn’t test their code as they wrote it, nor before committing it to Subversion, our code control system. They were clear that they were working as hard as they could – doing the best they could – in the circumstances. Their repeated complaint was that the requirements kept changing so nothing could be finalised. That statement goes into the box marked D.
2. State the need that is being met by the undesirable behaviour, or which drives us putting up with it
On this project, at least, it was crystal clear – we had no time: we just had to meet the deadlines. Speed was driving slapdash development methods. So that’s what goes into the box marked B.
3. State the behaviour you desire, which is the opposite of D
Again, straightforward: I want developers to test their code before they commit/release it. This goes in the box labelled D’ (”d prime”).
4. The need that the desirable behaviour fulfills
Well, if we’re testing, we’re catching bugs during the development phase when it is cheaper/easier to fix them, rather than the later testing phase. That goes in box C.
5. The objective that the needs fulfill by both being present
Need B is meeting the schedule/delivering the project on time; Need C is delivering a high-quality product. Thus the objective we have to put in box A is: delivering a high-quality project on time and budget.
So, put it all together, and you get the conflicting behaviours and the reasons behind them, and a reminder that both reasons are aiming at the same target. Note also that for the objective to be reached, both needs have to be met, i.e. desirable and undesirable behaviour both have the same ultimate goal.
I’ll look at what comes assumptions are revealed from this exercise shortly.






