So you have researched agile development techniques, and are all fired up to put them into practice.

Armed with this drive and passion to learn, what are some steps that you as an individual can take to incrementally grow your knowledge and practice of agile development techniques?

My answer to this question is twofold. The first and hardest answer to swallow is that you need to “Be Prepared to Unlearn.” Over the years you may have picked up some negative developer habits. In my opinion, people find it harder to unlearn bad practices and ideas than to start adopting potentially beneficial practices. You may need to come to terms with the fact that you might not yet be as effective at object-oriented programming as you think. Most developers truly believe that they are taking advantage of OO programming, when in reality the majority of their code is just procedural code utilizing objects. My gentle suggestion to overcome this hurdle, along with the others that are going to be thrown at you as you learn to adopt agile development skills, is be humble. Regardless of what your position is on your team or what “skillz” you think you may have, humility is the shortest path to accelerated learning. Once you can let go of your need to “keep up with the Joneses” you are free to chart your own path and practice JITL (just in time learning) to increase your development skills.

Looking at the mountain of practices, tools, and techniques that you can choose to learn can be a little overwhelming: object-oriented programming, design patterns, test-driven development, behavior-driven development, interaction-based testing, state-based testing ……… The trick to scaling this mountain of learning is to attack it in an agile fashion, incrementally, and iteratively.

The following list outlines an approach that I use to teach people about agile development techniques. My approach suggests not tearing into your existing development with your new “hammer” but rather to take a blending approach to introduce new techniques, patterns, and practices:

Note that it is unrealistic to expect that you can drive through the above 16 points in a short amount of time. I propose this plan of attack for starting down a new path of development. It could take six months, one year, two years, or more before you feel comfortable with all of the new techniques and practices you will be utilizing. Speaking from personal experience, it will be one of the best investments you make for your career.

Enjoy the journey!!