Reading this question/answer on Stackoverflow I tangentially wondered whether working to Agile practices played any greater a role in my technical skills development compared to ‘back in the day‘ when I wasn’t using Agile methods.
There ought to be no difference in technical skills development whether the context is Agile or any other process – indeed for most it’s likely to be nothing to do with process at all.
Whilst that may be true, I would suggest that some Agile processes have definitely played a unique role in my own skills development, specifically:
- Pair programming
- Working together you learn countless ‘new tricks’ from colleagues, whether those are new APIs or ways of doing things
- Working together you pare down more and keep things more DRY. Less really means more
- TFD
- Improves ones ability to break down larger more complex problems
- Story Card Iterations
- Keeps your work focused and reduces YAGNIs creeping in
So while specific technical skills or interests obviously relate to what you are creating, Agile can definately play a role in breeding a good development habit – the caveat being that employing Agile needs competent leadership for the above to flourish at it’s best.
January 29, 2009 at 2:33 am
Hi Jerome,
I Agree with what you said, but I think there’s more…
I think that learning and the surrounding environment or process are not orthogonal. Being able to keep a sustainable pace keeps windows of opportunity open for learning and experimenting. When you’re damn late, you end up simply “doing things” without any significant improvement from the day before. In such an environment learning is discouraged by the death march spiral…
Best regards
Alberto