XP, TDD, BDD, Agile… are great accelerators in what you do!
Only when when you emerging yourself in the business domain and robust coding to deepen your understanding while developing and in doing so you organize yourself by applying methods, you will reap the method’s promised fruits.
You need a cake to put icing on! Proficiency – or growing – in subject matter knowledge and robust coding is the cake, and the method the icing.
This I concluded after reading through some articles and blog posts of DAN NORTH & ASSOCIATES @ http://dannorth.net – faster organizations, faster software.
In the setup of a new endeavor it is decided what technology, tools, and methods will be used. These selections are required, but not sufficient. Adding team members that willingly do the hard leg work in the business and programming domain prepares the ground for success. Team member’s Inability to walk – after sitting and standing – gets the endeavor nowhere, not even with the most praised methods or so-claimed ‘best practices’.
As with every profession, this creates a catch 22. Where can team members learn to sit, stand, and finally confidently walk for doing the required, solid legwork? – What about ‘Pair Programming’ – as suggested in Agile? Pairing a decent experienced member with a less experienced one and catch ‘two’ birds with one stone: review and training, knowledge sharing/growing and creating a backup. This kind of pair programming has effect on both: the more experienced pair coder has to stand-up for his work – being able to explain why this way and may be not the other way – and the less experience has to validate with his or her getting the understanding about what is going on.
Shared (success) joy is double the joy, and shared pain cuts the pain (to get there) in half!