Head First Software Development
One Minute Review
- readable style
- well-worked examples
- bullet points
- there are no dumb questions
- sharpen your pencil
- Not a reference book
Buy it now
Ratings and Stats
| ISBN: | 0596527357 | Relevance: | |
| Publisher: | O'Reilly | Readability: | |
| Author(s): | Dan Pilone, Russell Miles | Overall: | |
| Bottom Line: | This book well justifies its addition to the prestigious ranks of the Head First series of O'Reilly. The bullet points, there-are-no-dumb-questions sections, and sharpen-your-pencil sections in each chapter are a real wonder. These alone guarantee the book will be a useful guide. |
||
Intent and Audience
The goal of this book is to help project teams to deliver good quality software on time and on budget.
If you have just started software development, or even fresh out of college as a software programmer, this is the book for you. It will guide you through the best practices of software development.
If you are planning on writing software using the best practices and have no clue where to start, this book will help you learn important techniques. You need to have some knowledge of Java or any other object-oriented language like C# or C++ as well in order to understand the code examples.
Chapter Highlights
1.Great Software Development : Pleasing your customer
"If the customer's unhappy, everyone's unhappy." No doubt at all. The
authors in this chapter show us how to avoid being a software
development casualty by delivering software that is needed, on-time and
on-budget.
2.Gathering Requirements : Knowing what the customer wants
There is no easy way or a simple solution to complete the task of
requirements gathering in any software project. It should have no
language barrier: the language you need to use is that of your client.
This chapter is all about talking to the customer to figure out their requirements for the software. You will learn how user stories, brainstorming, and the "estimation game" help you get inside your customer's head.
3.Project Planning : Planning for success
In order to deliver a successful project we all know how crucial it is
to plan it properly. In this chapter you will see how to work closely
with the customer and to prioritize their requirements, define
iterations, and create a project plan that can be successfully executed
and well monitored.
4.User Stories and Tasks : Getting to the real work
Breaking down user stories into tasks is one of the major development
artifacts of agile development. This chapter covers breaking user
stories into tasks, how to estimate these tasks and track them in your
project from start to finish.
5.Good-enough Design : Getting it done with great design
In this chapter you will learn how to refactor to be more productive, and how to obey the SRP, but also be DRY.
6.Version Control : Defensive development
Can you imagine how our life as developers would have been if not for
version control tools? In this chapter, you will get to know everything
you need to know about version control, and especially about
Subversion, which the authors cover in detail. Check in and out,
merging, tagging versions, what is a trunk, when not to branch, and
many more points related to version control.
6.1. Building Your Code: Insert tab a into slot b...
Thank heavens, the authors have covered Ant. I definitely would have
completely skipped the chapter if Maven was covered. Sorry Maven users,
I really am sorry. You will learn why you need a build tool, as well as
some of the common terms used in Ant like projects, properties,
targets, and tasks in a simple build script.
To learn more about Ant check out the book "Ant in Action" by Manning.
7.Testing and Continuous Integration : Things fall apart
How many times have we not heard the famous plaint, "But it works on my
machine!"? When you are done reading this chapter, these famous words
will become something you heard in the past.
This is a very important chapter and the authors here cover my favorite tool, Cruise Control. If you have followed this chapter, your build should be in working order and you and your team should be becoming steadily more productive.
If you are planning to use CI in your project, read the book "Continuous Integration: Improving Software Quality and Reducing Risk" by Addison-Wesley.
8.Test-Driven Development : Holding your code accountable
This chapter will assist you in bringing together all the concepts you
learned earlier: version control, CI, testing, and applying the TDD
technique. The authors use TDD with simple techniques like red, green,
and refactor. Red is used when your test fails; green indicates your
test passes; refactoring cleans up any duplication, ugliness, old code,
etc.
If you are a huge fan of TDD, read the book "Test Driven" from Manning.
9.Ending an Iteration: It's all coming together...
This chapter shows you how best to utilize your extra day on a project
if you ever had one; how to fit in system testing, refactoring,
redesign; and when to fix bugs. Don't miss reading the top 10 traits of
effective system testing in this chapter.
10.The Next Iteration: If it ain't broke... you still better fix it
Planning for the next iteration, recalculating your estimates and
velocity at each iteration, and applying what you learned in previous
iterations are the main topics of this chapter.
11.Bugs: Squashing bugs like a pro
In spite of following the very best software development practices, we
all find bugs in all the products we use, don't we? This chapter shows
you how to handle bugs, to estimate time for fixing them, and to apply
refactoring and prefactoring to fix and avoid bugs in the future.
12.The Real World: Having a process in life
Very funny, I read almost 417 pages and didn't even bother to see if
the authors had explained the term "software development process".
Having known the same, I never even thought about it until in this
chapter, in which they tell us exactly what the term really means. If
you have no clue what it means, start from page 418 in this book.
Relevance of Material
By including pictures, activities, conversational style, stories, challenges, and there-are-no-dumb-questions sections, as other Head-First books do, this book makes for a very interesting read and enables you to actually remember what you read and apply it in practice. It covers the software development process sufficiently well that everyone can find something to learn from it.
Resources
- Book's Web Site
- Head First Series
- Read Ant in Action review at Javalobby here.
- Read Continuous Integration: Improving Software Quality and Reducing Risk review at Javalobby here.
- Read Test Driven review at Javalobby here.
- Login or register to post comments
- 3169 reads
- Flag as offensive
- Printer-friendly version
(Note: Opinions expressed in this article and its replies are the opinions of their respective authors and not those of DZone, Inc.)







Comments
Mikael Grev replied on Thu, 2008/03/06 - 1:36pm