Practices of an Agile Developer
I received a copy of Subramaniam's and Hunt's Practices of an Agile Developer for Christmas last Tuesday, and I blazed through reading it in 6 days. It's relatively light reading (hence my unprecedented speed reading it), and it's filled me with inspiration to be a better programmer. It's a renewal that I've been greatly needing through the past couple months.
The book consists of 45 practices and discussions of each. While Agile can often be a management topic, most of this is presented in ways that it can be implemented by the developer from the bottom up -- Do it yourself, demonstrate the benefits, and others will follow.
The tone of the book is conversational and contains lots of anecdotes which sometimes feel like amusing stories from TheDailyWTF, but with a very positive spin. Some simple and valuable lesson that I've taken to heart include:
- User confusion or other troubles are opportunities to improve your software.
- Work to find solutions, and don't bother looking for someone to blame.
- Use TDD to help guide simpler, cleaner design.
- Communicate effectively with your peers, management, and users.
Many of the other tips pertain to writing clear and concise code, refactoring, and remaining flexible -- many practices which we've already embraced. With a bit of renewed motivation, I'll be trying to keep these practices in mind at work and in personal projects, and I'll be lending the book to the avid readers of my team.