Agile Development, in particular, eXtreme Programming (XP), has been gaining a lot of momentum because it can effectively address the problems plaguing software development such as mis-understanding customers' requirements, missing deadlines, over-budget, conflicts between customers and developers and poor maintainability of legacy systems.
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.
We have organized the training materials into a book: Essential Skills for Agile Development.
This book covers the essential skills in: OO design, Test Driven Development (TDD), team development, planning, communication and pair programming.
Here is the TOC. Here is how it differs from others. You can download the online book for free. However, if you'd like to print it, please order the hard copy from Amazon. If you're a Macau resident, you can order it directly from us.
I am pretty impressed of the first three chapters (Editor's note: He had only read the first three chapters then). The first three chapters shows that this book helps the programmer to improve his skills especially in an agile software process. I am now leading a group of 11 programmers to develop a software tool. We use Extreme Programming as our software process. Most of the programmers are new to extreme programming, and the problem is, that 6 of the programmers do not have the skills to be productive in an agile software process like extreme programming. They have problems with test-driven development, they even have problems in writing test (JUnit-Tests), they write really bad code (with many bad smells), etc. With this book they could be better prepared for agile development. Also because of the many examples and the really good exercises. I like books of this style. If the whole book is like the first three chapters this book will be a success. I will recommend it to my students and my project members.
-- Rachid Buamar, Institute of Computer Science III, University of Bonn, Germany.
Essential Skills for Agile Development is definitely a book written by a genuine programming expert for fellow programmers who want to escape from mundane programming into a new world of simpler, more creative, and highly effective style of programming. Programmers from novice to well-experienced will find new horizon in Kent's "Code is the Point" method of demonstrating his Agile Development theories and techniques. Readers will benefit greatly by studying sample code provided in the book. The simple elegance of Kent's Agile Development methodology proved again to the world that "Less is More". I eagerly look forward to another book from Kent Tong.
-- Brian Iu Ion Tong, senior IT professional, member of the Science and Technology Council of the Macao SAR Government.
This book excites me very much. I'm new to extreme programming, and I've ever read some book about extreme programming but didn't finish them because of the abstract concepts involved.
When I read this book, I know I find the right one :)
This book covers the essential skills in: OO design, Test Driven Development (TDD), team development, planning, communication and pair programming. It employs a lot of easy-to-understand examples to demonstrate some essential skills in software devlopment.
Don't wait any more!-- E-Surfer
This book learns any developer how to apply the skills in Agile Development. Recommended reading for any software developer!-- David Boschmans, Project Manager at Compuware
This is a very good book, judging by the first few chapters...definitely a good-read for any programmer.-- Manan Shah
I really like what I've read. The book has a lot of samples and offers some very good advice to anyone writing code, and especially to those that want to learn more about the skills necessary for agile development.-- Steve Eichert
You can download the online book for free. However, if you'd like to print it, please order the hard copy from Amazon.