"Essential Skills for Agile Development" is a book that helps a programmer to acquire the skills needed in AgileDevelopment (ExtremeProgramming in particular). It enables a reader to fully acquire the 20% of the agile skills that deliver 80% of the value. It has been used to train dozens of students in Macau.

Long story:

In 2002, we, the Macau Productivity and Technology Center (CPTTM), started to hold courses on XP and OO design to teach the skills in agile development. At the beginning, we hired a well known software training and consulting company in US to teach. While the instructor was very professional and instructive and the feedbacks from the students were very good, the students didn't acquire the skills taught. Later we switched to use local instructors, the feedbacks results were worse and the students didn't acquire the skills either.

We knew that it was because the concepts involved were abstract and it needed far more exercises for the students to practice in the courses. Therefore, we decided to develop our own training materials. In particular, we selected only the essential skills in agile development, ignoring those useful but non-essential skills. Then we explained these skills in terms of examples and added a lot of real world examples as exercises. After adopting this set of materials, with exactly the same instructor, the new students really acquired the skills taught and the feedbacks soared instantly.

Now we have organized the training materials into a book: Essential Skills for Agile Development.