I read a very interesting article this morning in regards to learning methods and specifically skill improvement through practice in relation to top athletes. Practice has been distilled by Angela Duckworth into four main categories:
- Intentional Practice. To achieve optimal skill development we don’t practice randomly. Practice has to have a very specific intention. It needs to match and be appropriate to the current level of skill development and the next targeted level.
- Challenge Exceeds Skill. Learning occurs only when what we need to be able to do exceeds our skill level. Learners resist being in this zone. All skill development requires staying in a zone for prolonged periods, and we are naturally averse to that.
- Immediate Feedback. In most learning situations the lag between performance and feedback is too long. This is a challenge to teachers given the constraints on their time and resources. Deliberate practice requires that the lag time between performance and feedback approach zero.
- Repetition to Automaticity. You can’t become truly fluent in any new skill until you have repeated it to a level of automaticity and that you can practically do it without conscious effort.
There resonate completely with the continual improvement drive of Agile/Lean processes. Within our iterations we intentionally practice not only the art of software development but also the focus and outcomes of the methodology or framework we are following. Practice, rather than follow, is a good way of defining this activity as it acknowledges that we have room to grow and that we can continually get better. We can ensure challenge exceeds skills by taking on more work or more challenging work. If we’ve gone down the TDD or XP route we will get immediate feedback on our development skills. If we’re following Scrum then we can get feedback at the show and tell from a project level and performance transparency at the retrospective. Finally Repetition of automaticity, which is a mouthful (and maybe not even a word), has synergy with our short iterative empirical pushes forward. We push forward and deliver something of value. Take stock, Push forward again. Repeat until the projects done and the team attain god like software delivery status.