Apr
08 Agile Software Development
So it's been a while since I updated this. It's time for another book
report.
I've been working through Agile
Software Development, by Robert C. (Uncle Bob) Martin, of Object
Mentor, Inc. This is not his latest work, and it was a long time in the
oven as it was, so the book is somewhat dated. A couple of the larger
examples are in C++ (which in on my backburner for now) and were written
before Agile, XP, or Test-Driven Development.
But the beginning of the book is solid - the Principles on which he
measures "good" OO software, and the Practices (Agile, mostly XP) that
help to create it. This stuff is kind of like normalizing a data
structure - the really good DBAs know how to normalize anything, but
often don't in order to optimize something besides the remote chance
that data could be duplicated and then corrupted. Uncle Bob knows how to
write "perfect" OO software, but then tempers those design goals with
the real world of performance and maintenance. He is not lazy, and
doesn't encourage laziness. Instead, he points out the trade-off of code
complexity vs. great design, and chooses simplicity more often than not.
I have a feeling that this book will bang around in my head quite a bit
as I write code, and as I go on to teach others to write code.
Recommended, but not my highest recommendation yet. Looking forward to
the next one of his that I have: "Clean
Code."
In the meantime, I have started The
Art of Agile Development, by James Shore and Shane Warden. Too bad I
don't work at or for a F1000 company - this stuff is excellent, but too
often irrelevant for just little old me.
Updates on GUIs and Frameworks in the next post.
Categories: Books