This book is presented in the familiar style of other Head First titles,
which use a variety of techniques, exercises, and tests to appeal to a
wide audience and reinforce the learning experience. While the book is
intended for relatively new developers who are familiar with Object
Oriented development (specifically Java, since the technical aspects of
the book are geared towards it).
I do appreciate that the style lets me do a bit of picking and choosing
for what I may want to learn, essentially passing over something that
doesn't work for me where I might already know or understand the topic.
Certainly, working through all of the material, where I am unfamiliar with
it or need to learn it, is the best course.
I like that there is an emphasis on some relatively standard
methodologies, from design requirements through to testing and further
development. What is interesting to me is how there are so many
methodologies out there that are actually very similar. I think what's
important is to be able to adapt to the specific environment you are in. I
am very happy to be doing most of my development in an environment that
allows me to do a lot of prototyping, which is mildly different from the
iterative approach advocated in the book.
I found some of the tools interesting - the "planning poker" game is a
somewhat innovating way to estimate how long various tasks will take.
Obviously, that means a team approach to estimating, compared to an old
school method I recall whereby the team lead would make a best guess
based on experience, then double it, and double it again. The object was
simply to overcome the developer's optimism while taking into account all
the things that could cut into the team's productivity.
Because I'm not much into Java, I found some of the tools to be less than
beneficial. However, it should be noted that the principles are still
important, and learnable, even if you need to use different tools because
of your environment. Also note that to cover all the bases would have
required a volume many times the current ~450.
I would also state that "Object Oriented" isn't necessarily the best way
to go. I still do a lot of procedural programming, and even blended
procedural with object oriented. Use the right tool for the job.
All in all, a pleasure to read, with (for me) lots of review and plenty of
new takes on old techniques. Recommended.
http://elug.ca/reviews/head_first_software_development.shtml (http://elug.ca/reviews/head_first_software_development.shtml)
|