Today I’m siting at an internal presentation and we’re discussing how organisations adopt software development frameworks. We’re talking about how it can be useful to start with a framework and to follow it diligently until people feel comfortable. Once you reach that point you can take the “training wheels” of a prescriptive framework off and start changing and adopting to optimise for your particular needs. People suggest that starting with “Scrum by the book”, for example, gets you to a good place from which you can evolve.
Last week at Lean Agile Scotland, together with Seb, we gave a talk called “Your agile is dead” sharing our experience of building a small agile team. The main premise of our talk was that we first threw all the conventional practices out of the window and started from scratch. No planning, no stand-ups, no iterations, no visualisation of work! Sounds crazy, right? Well, we kept some components – a tight feedback loop with honest and thorough retrospectives and some basic engineering practices. We evolved and added more practices as we needed them and reached a pretty good state.
It was our twins’ birthday last weekend. They are turning five and we got them both new bicycles. They had some bicycles before but these are the first proper bikes. Interestingly, one of the bikes had the training wheels on but we didn’t put them on the other one. Sure it was a horrible few minutes trying to ride on a new bike with breaks, pedals, handlebars and no stabilisers (aka training wheels). As to the other bike, the experience was smooth straight away but the stabilisers are limiting and it’s going to be a good few weeks I suspect (or maybe months) before we can take them off the other bike.
What do stabilisers on a bike have to do with software development process then? I think of them a little bit like the support of a fully-formed framework. It can be easy to start with scrum and the ride is smooth but you will never take sharp corners or ride full speed down a hill. Your options are somewhat limited. And when you try to change the rules – it’s painful and sometimes things fall apart.
Does that mean we should put no support in place? Should we throw everyone in the deep end every time? Sure, some will swim, but some will sink.
What can you do to prepare for riding a real bike that doesn’t involve training wheels? You can start with a balance bike. You don’t need to worry about breaks or pedals or steering so much but you get to experience the balance. And balance, it turns out, is the key skill when it comes to riding a bike well.
When learning a new skill or introducing a brand new way of working look for transitions that ease people in but don’t rob them of experiencing the core principles. Make sure that you leave the most fundamental feedback loops in place.
For your cycling skills it is the feedback about how your position and speed affect your balance. Training wheels almost completely remove that feedback. In software development it’s perhaps the feedback about how your interactions as a team of individuals translate into working software. Iterate, reflect, retrospect, adapt. Put boundaries in such a way as not to impede future learning and improvements.
“The Art of Feedback” talk at Agile on the Beach 2013 conference – September 2013
No, it’s not going to be about the next version of the Android operating system.
I missed the Energized Work book club yesterday but managed to see the video by Benjamin that was being discussed. Together with this presentation I bumped into on twitter it prompted me to consider how we give feedback.
The traditional management approach to giving feedback was to get it all out, straight and with no adornments. Perhaps you might have experienced something like this:
You are really poor at wiring these specifications. No one can understand them. Developers are complaining, customers can’t read them. It really isn’t working. I know you can do better, you just have to try harder.
When I was doing my line manager’s training I was told we need to be more considerate and should use the “sandwich” approach when giving feedback; our information should come in threes: positive – negative – positive. Wrapping damning remarks in a cosy blanket of positive appreciation is supposed to make them more acceptable and easier to act upon. To improve even further we can go a step further and replace the negative critique with constructive criticism: positive – constructive – positive. Let’s try:
Hi. I have spoken to our customer recently. They really liked how you kept them engaged when you were writing the specification. Great job, it really worked. There was just this bit where you described the calculation rules. Nobody seem to have understood it, not even the developers. You should improve how you communicate the technical details and keep you positive attitude. I really like how you approach your tasks with enthusiasm and dedication.
I don’t know. Is it better? I followed good advice, will it really help the person improve?
Coming back to this dialogue later I was trying to remember and write what I might have been thinking during that meeting:
I have all these new ideas about being a good manager. I must try them out.
I’m off to a good start, nice piece of personal positive feedback. They feel good so I can get on with the real stuff.
Thy didn’t have a clue about the technical side of it. I should have written it myself! I’m not sure if they will ever learn.
Anyway, time to close off with a positive spin.
Am I not the best manager ever?!
Even if it’s a bit exagerrated it’s not very far off. How often do we think like that? How often do we even check what we think?
Well, at least I’m glad they didn’t hear that, right? Wait… No! It’s me who didn’t hear that. They, on the other hand, surely have picked up hints from my tone, gestures and posture.
Not that good after all.
So how about this:
– Tell me a little bit about your last piece of work. How did it go?
– Sounds like it went well then. I’m glad to hear that. I was speaking with out customer earlier today and they really enjoyed it too. Thanks. So did you find anything difficult with this task?
– Yes, those calculation rules looked very complex indeed. It would have been a challenge for anyone to document them well. What do you think?
– I think we could try to find ways to present such information in a cleaner way. Would you like to try that? Is there anything I could help you with…
Now this looks like it may actually lead to some meaningful improvements.
Less advocacy, more inquiry.