Agile Software Development, Principles, Patterns, and Practices

Author: Robert C. Martin
List Price: $55.00
Our Price: Click to see the latest and low price
ISBN: 0135974445
Publisher: Prentice Hall (15 October, 2002)
Edition: Hardcover
Sales Rank: 10,556
Average Customer Rating: 4.73 out of 5

Buy now directly from Amazon.com - Purchase this book, safely and securely from the largest book dealer on the Internet, Amazon.com

Customer Reviews

Rating: 5 out of 5
Get it. Read it. Use it.
I bought this book after attending a conference and meeting Uncle Bob himself. If you ever have the chance to see Bob in living color (and remember to ask him why we see the colors we do) don't pass it up. In order to get the most out of this book you need to be open to his philosophy and have some experience. I say this, because I feel it's only after you can say to yourself "I know exactly what you're talking about", or in my case, "Geez, I'm guilty of that", that you understand the principles Bob is trying to get across and the applicability, or lack there-of, of patterns.

Bob does an excellent job of setting up the material and then showing an example (a believable one at that) of how to apply the concepts. For example, he will introduce a set of patterns and then provide a case study that applies those patterns. This book is not only useful for those new to the material, but the format is also very good to be used as a reference.

While his explanation of the different patterns is very good, I believe it's his principles and test-driven-development philosophy that are the real gems in this book. These are principles and practices that every developer should be familiar with. In fact, this is a great approach for junior developers so they can become disciplined. In a world where everyone seems to be an "Architect", I'm amazed at how many don't convey and don't practice similiar thoughts. If you can't open yourself up to the "model your idea up on a white-board, erase, code test case, code logic" mentality, then it will be very difficult to see the intuitiveness of Bob's writing. Bob has provided a job-aid to all of us and we'd be in a lot better shape as software professionals if we followed just a few of these principles.


Rating: 2 out of 5
Book in two parts fails to excel at either
This is really two books; one is on agile development. The other is on design pattern examples. Unfortunately, it fails to be really tremendous at either.

The agile development part lacks much of the pragmatism of more recently published books on agility, espousing principles quite nicely, but avoiding all of the tricky issues around larger teams, products where the architecture -- as well as the product itself -- is a deliverable, etc.

The design pattern examples were pretty reasonable, but there are already more comprehensive tomes available online for free. The examples provided were just large enough to obscure the reading of the patterns themsevles and inhibit browsing (unlike the GoF book, which treads that line quite nicely).


Rating: 5 out of 5
A Question When Reading the Book.
First, I will say it is an excellent book, anyone who is looking at the front page and thinking about the payment should not hestitate anymore.

Second, I have a question hoping that someone can explaint it to me. When Uncle Bob talk about the LSP(Liskov Principle), he give an example----Line and LineSegment, if you remember that, read on...

This example confuse me so much, we use inheritation because the two class contain differences (at least one). If in this situation we cannot use inheritation, what else can we? Recalling the memory of most the codes I have written, the child classes have different behavior when comparing with its father class, in those situataions, I should do the drawing actions? Then in what situation should we use the inheritation?

If you have your ideas, please be free to contact me through email, I am dying to share the master's thinking with you!

Similar Products

· Refactoring: Improving the Design of Existing Code
· Extreme Programming Explained: Embrace Change
· Test Driven Development: By Example
· Design Patterns
· Patterns of Enterprise Application Architecture

Return To Main Computer Book IndexSearch Our Entire Computer Book Catalog