Customer Reviews: Head First Software Development
Your Garage Editors' Picks Amazon Fashion Learn more nav_sap_plcc_ascpsc $5 Albums Fire TV Stick Happy Belly Coffee Totes Amazon Cash Back Offer PilotWave7B PilotWave7B PilotWave7B  Amazon Echo  Echo Dot  Amazon Tap  Echo Dot  Amazon Tap  Amazon Echo Starting at $49.99 All-New Kindle Oasis Shop Now

Format: Paperback|Change
Price:$34.70+ Free shipping with Amazon Prime
Your rating(Clear)Rate this item

There was a problem filtering reviews right now. Please try again later.

HALL OF FAMEon January 16, 2008
I've read and reviewed several of the "Head First" series of books on programming languages and software design, so I thought I would give this one a try too. Unlike so many books on software development, this one doesn't start with a terse and rather useless overview chapter. Instead it clearly tells you who this book is for: Those who have a background in programming, specifically Java, who want to learn techniques for building and delivering software. First the book explains the Head First concept in learning - using puzzles, cartoons, graphics, and anything else that should stick in your head to explain the usually dry topic of software engineering.

The first three chapters - "Great Software Development", "Gathering Requirements", and "Project Planning" - talk about how software development usually goes wrong and talks about some of the methods for organizing your efforts. Chapter 4 puts some of these ideas in motion when the book analyzes the development of a mythical application, iSwoon. The book has the application get into serious trouble and then shows you the way out of the abyss using good software design methodology. Next, the book has you adding features to "BeatBox Pro", which is an application from the "Head First Java" book. This is where your ability to understand Java code comes into play. The book also discusses the use and usefulness of the Ant build tool for Java projects. However, this is a book on how to approach the design of the software, not how to perform the detailed coding, so having somewhat rusty Java skills should be acceptable. Throughout the book are puzzles, Q&A sessions, and "There are no dumb question" sessions that really drive home the points being made. The following is the table of contents for the book:

1. Great Software Development
2. Gathering Requirements
3. Project Planning
4. User Stories and Tasks
5. Good-enough Design
6. Version Control
6.5 Building Your Code
7. Testing and Continuous Integration
8. Test-Driven Development
9. Ending an Iteration
10. The Next Iteration
11. Bugs
12. The Real World
Appendix A. Leftovers
Section A.1. #1. UML class diagrams
Section A.2. #2. Sequence diagrams
Section A.3. #3. User stories and use cases
Section A.4. #4. System tests vs. unit tests
Section A.5. #5. Refactoring
Appendix B. techniques and principles
Section B.1. Development Techniques
Section B.2. Development Principles

In summary I would highly recommend this book for someone looking for an approachable guide to software development. It will probably also help students enrolled in a course in software engineering since it makes clear and accessible a subject that usually gets bogged down in dry academic prose in the textbooks usually assigned for such classes.
0Comment| 41 people found this helpful. Was this review helpful to you?YesNoReport abuse
on February 13, 2008
Since becoming a Development Manager, this is the first book I've made required reading for the team. Good software development is NOT common sense. When confronted with something as complex as a software project, people tend to respond with panic (which the book calls the Big Bang) or massive attempts at control (the Waterfall method).

HFSD preaches Iterative Development without all the dogma of Scrum or XP. It leaves the controversial stuff to other books, focusing on what good developers pretty much agree on. The practices are easily adopted and flexible, although like all worthwhile things in the world, they take a lifetime to master.

There's a lot to like about this book. The other Head First guides are good, but the style really, really fits the material here ... maybe because development is really less about technology than it is about working with others.
0Comment| 32 people found this helpful. Was this review helpful to you?YesNoReport abuse
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...
0Comment| 13 people found this helpful. Was this review helpful to you?YesNoReport abuse
on May 10, 2009
I looked through this book online using Amazon and some of the pages looked of interest to me as I am working with some new teams who have not used Agile before and there were parts of this books (mainly around user stories) which got my attention.

I have been developing for 25 years and have been managing Agile teams over the last 4 years, recently using Scrum as the framework of choice. I was looking for some further material to expand my knowledge base and having read Head First Design Patterns (highly recommended) I thought this book would fit my needs.

For me, I was dissapointed. I read this book basically cover-to-cover in about 3 hours and there were aspects which made me think, on the whole there was nothing new in this book and the topics it did cover it did not go into any real depth. For me, not a good use of my money.

However, as a book to get my team and future teams who are new to Agile, Test First, Continuous Integration, Version Control, Unit Testing, User Stories, etc, this book is great and I do recommend it.

The Head First series of books take the reader on a simple journey. Nothing complex or where there is something complex they de-complex it and in some ways dumb it down to a reasonably low common-denominator. This means just about anyone can read this book and should understand the concepts and principles in it. I plan to provide this to some non-technical BA's who I work with and other than the section on Unit Testing know that they will be able to read this, digest it, and understand the principles and then hopefully use them within our organisation.
11 comment| 14 people found this helpful. Was this review helpful to you?YesNoReport abuse
on January 16, 2011
Before begining my first professional program, I bought this book. At first, I was wondering how all those pictures and games exercises will help me to learn about software development. I told to myself, "I'm a in a profession that has books with "dummy" in their titles, and now books with middle school games... what's next? coloring books for developers?" After that though, I went straight to code and put this book right back into my bookshelf. While I was able to deliver the software on-time (with overtime), I experienced success but not with out frustrations. In retrospective, I think I did the right thing by not using this book at first because now I really appreciated what this book offers. I would recommend this to any developer for the following reasons: First, those pictures and middle school games that I just mention, some how they work pretty well if you want to learn something. While I put certain effort to learn from more traditional books, with the head first approach, I was able to learn software development techniques and principles with no effort whatsoever. Seconds, while this book is load with software development fundamentals, their main goal is help out the real-world working developer. With this book, I felt understood, I felt that they knew about my personal frustrations (and mistakes) that I encountered when I was developing my program. Finally,they also try to avoid getting into complex and formal software processes (SCRUM, XP, etc) by presenting pen and pencil techniques that keeps you focus on learning the fundamentals. I just finished reading this book, I feel that my developing powers have increased. Right now, I'm setting up my home CI server to begin my first real open source program. I just got head first design pattern and head first object oriented design and I hope to get the same fun that I got with this book!
0Comment| 4 people found this helpful. Was this review helpful to you?YesNoReport abuse
on March 23, 2009
The first half is quite useful for general software development (even general project management), and is well-written and interesting. The second half is much more specific to GUI and Java development, but is far more technical and specific to the type of problems they are working with.

I was looking at this book as a way of introducing better software development to a group of engineers who can program (i.e. not software engineers). Of course, the design, which I thought effective, was going to make it a hard sell. But everything through the chapter on source code control seemed like great stuff that would be understandable and beneficial. But then it fell off a cliff: more particular to Agile and to GUI development. Without a good familiarity with Java and UML diagrams, this part is impossible.

I'm still looking for the right book on software development for people who have written lots of great code, but never developed any software.
11 comment| 4 people found this helpful. Was this review helpful to you?YesNoReport abuse
on October 20, 2015
Awesome book. As a freelance software developer, I was previously using the book "Systems Analysis and Design 5th Edition by Dennis, Wixom, Roth" as a reference for the SDLC, but I find this book to be so much better. I just picked it up two days ago and read the first half in one sitting, though I did skim through parts of it. HFSD is very practical, where as SAD5th packs massive details into the book, but lacks the real life usability. Reading this book, I feel like I can take their base process and apply it to my particular needs, and start using it immediately. I especially like the part about using a Scrum board, creating user stories(features), introduction to Version Control and test suites, as well as the multiple iterations. Systems Analysis and Design 5th is great if you want to find a ton of charts and diagramming methods, many of which are needed. This book is great if you are in particular a software developer who wants a more simple development life cycle.
0Comment| One person found this helpful. Was this review helpful to you?YesNoReport abuse
on March 21, 2011
I dont know java, so this book was not as good as it could have been for me. I did learn some good material, being new to the topic. Easy read overall. Good learning concepts.
0Comment| 4 people found this helpful. Was this review helpful to you?YesNoReport abuse
on May 12, 2014
The core concept of this book it to tell you how important it is to interact with your customer during the developing process. If the customers are happy, (sometimes they just give you stupid stupid ideas though) , then everyone is happy. DON'T EVEN TRY HARD to make your customer follow your thoughts because they paid you and you make whatever they want. :3
0Comment|Was this review helpful to you?YesNoReport abuse
on June 19, 2008
Although I was initially put off by the non-serious cover and gimmicky premise, I decided to trust to O'Reilly and give this book a try. That turned out to be a great decision!

Be forewarned that the real title should be "Head First AGILE Software Development," so don't expect other methodologies, but it definitely delivers. Whether you're just beginning to take the plunge into agile development, or you've been sort of trying to do it for a while but don't have a real clear picture of your goal, this is a great book for you.

However, if you've been developing agilely for a while, then what you'll find here isn't much more than a refresher course or reminder of how you should be doing things.
0Comment| 3 people found this helpful. Was this review helpful to you?YesNoReport abuse