Book Review - Head First Software Development by Dan Pilone and Russ Miles
When I first looked at Head First Software Development by Dan Pilone and Russ Miles, I was thinking that it would be best targeted at people who had never formally written software before. It definitely fits that bill. But I can see a use for experienced developers who have never been exposed to agile development techniques. Either way, it's a very good book.
Great Software Development: Pleasing Your Customer
Gathering Requirements: Knowing What The Customer Wants
Project Planning: Planning For Success
User Stories and Tasks: Getting To The Real Work
Good-Enough Design: Getting It Done With Great Design
Version Control: Defensive Development
Building Your Code: Insert Tab A Into Slot B...
Testing and Continuous Integration: Things Fall Apart
Test-Driven Development: Holding Your Code Accountable
Ending An Iteration: It's All Coming Together...
The Next Iteration: If It Ain't Broke... You Still Better Fix It
Bugs: Squashing Bugs Like A Pro
The Real World: Having A Process In Life
Appendix 1 - Leftovers: The Top 5 Things (We Didn't Cover)
Appendix 2 - Techniques and Principles: Tools For The Experienced Software Developer
The authors do a great job of covering the entire software development process, from getting requirements to debugging code. But instead of going back to the older and more traditional waterfall method of software development, they chose to expose the reader to the agile methodology. Personally, I think that's a great decision, as it gets across important techniques such as story cards, iterations, and test-driven development. Learning those skills as the primary way to build software goes a long way towards prepping the new developer for the marketplace.
But as I contemplated this approach, I realized that the content would work for more than just new software developers. There are still a large number of long-time developers who have been raised in the waterfall method. When you start talking about agile techniques, there's a hesitancy to try something so radically different than what they've always done. HF Software Development can serve as that "first exposure" to the agile methods for them. It's no secret that I love the Head First method of teaching, so I'm convinced that the style of writing would also be perfect for absorbing the new information.
It's not often that I find a book that can effectively address two audiences at entirely different ends of the spectrum. But I guess I shouldn't be surprised that it's a Head First book that pulls it off. If you're a new software developer, this will get you started off on the right foot. And if you're an experienced (read: long-time) developer, don't be so quick to dismiss this...