Like a sword, keep your mind bright and sharp.
And remember, it's always good to have a point.
Tuesday, February 14, 2012
Burk on Books - Essential Skills for the Agile Developer: A Guide to Better Programming and Design
“Essential Skills" is a part of Net Objectives' Lean-Agile series. The authors’ intent is to teach the "minimal set of skills developers need on the journey toward becoming adept at incremental development.” In my opinion they’ve more than met that goal.
Note that while the title says "Agile Developer", almost all the examples are in Java, and the skills are just as useful to Java developers as to any other kind.
Due to its focus on the fundamentals of good software development, “Essential Skills” is one of those rare books that is valuable to both beginners and experienced developers.
Beginners will learn to develop high quality software, while experienced developers will be reminded of valuable practices they may have dropped while attempting to meet aggressive deadlines. But there's more.
The authors also describe the benefits gained, which is quite useful if you're often asked to "cut corners" and deliver something sooner. (Imagine flashes of lightning and ominous music here.) Once business people see how rushing things out the door leads to lower code quality, and eventually results in longer deliver times, they tend to back off a bit.
You've no doubt heard that moving a team that produces so-so software to an agile process won't improve the quality. They'll just produce it faster. However, using the skills you learn from this book will increase the quality of your software. And, over time, you may notice that it's sped things up too - whether you go agile or not.
In short, I strongly recommend this book for both beginning and experienced developers, no matter what methodology you follow. I found myself nodding in agreement more than a few times as I read, and I think you will too.
Oh, yes. One more thing. If you do nothing else, find someplace to read the Preface. Yes, that's right, the Preface. It's only two pages, but there's something worth learning right there. If you're not sitting in a bookstore, you can get it straight from the publisher at InformIT. If the link doesn't work, just go to http://safari.informit.com/9780321700469 then click the link for the Preface and enjoy.
“Essential Skills for the Agile Developer: A Guide to Better Programming and Design” Authors: Alan Shalloway, Scott Bain, Ken Pugh, Amir Kolsky Publisher: Addison-Wesley Professional; 1st edition (August 29, 2011) ISBN-10: 0321543734 ISBN-13: 978-0321543738
Disclaimer: I work for BlackBerry. The opinions expressed here are my own and do not necessarily represent those of my employer.
Bio: As a Software Architect and Developer, I have created positive user experiences since 1978. I spend much of my time designing and crafting software, and my goal is to deliver practical solutions for difficult problems.
Recent achievements include being voted a JavaOne Rock Star (2010), and being one of the authors of "97 Things Every Software Architect Should Know", and "97 Things Every Programmer Should Know".