Programming Books C Java PHP Python Learn more Browse Programming Books

Sorry, this item is not available in
Image not available for
Image not available

To view this video download Flash Player


Sign in to turn on 1-Click ordering
Sell Us Your Item
For a $23.07 Gift Card
Trade in
More Buying Choices
Have one to sell? Sell yours here
Tell the Publisher!
I'd like to read this book on Kindle

Don't have a Kindle? Get your Kindle here, or download a FREE Kindle Reading App.

Agile Software Development, Principles, Patterns, and Practices [Hardcover]

Robert C. Martin
4.7 out of 5 stars  See all reviews (47 customer reviews)

Buy New
$54.72 & FREE Shipping. Details
In Stock.
Ships from and sold by Gift-wrap available.
In Stock.
Want it Monday, July 14? Choose One-Day Shipping at checkout. Details
Free Two-Day Shipping for College Students with Amazon Student


Amazon Price New from Used from
Hardcover $54.72  
Shop the new
New! Introducing the, a hub for Software Developers and Architects, Networking Administrators, TPMs, and other technology professionals to find highly-rated and highly-relevant career resources. Shop books on programming and big data, or read this week's blog posts by authors and thought-leaders in the tech industry. > Shop now

Book Description

October 25, 2002 0135974445 978-0135974445 1st

Written by a software developer for software developers, this book is a unique collection of the latest software development methods. The author includes OOD, UML, Design Patterns, Agile and XP methods with a detailed description of a complete software design for reusable programs in C++ and Java. Using a practical, problem-solving approach, it shows how to develop an object-oriented application—from the early stages of analysis, through the low-level design and into the implementation. Walks readers through the designer's thoughts — showing the errors, blind alleys, and creative insights that occur throughout the software design process. The book covers: Statics and Dynamics; Principles of Class Design; Complexity Management; Principles of Package Design; Analysis and Design; Patterns and Paradigm Crossings. Explains the principles of OOD, one by one, and then demonstrates them with numerous examples, completely worked-through designs, and case studies. Covers traps, pitfalls, and work arounds in the application of C++ and OOD and then shows how Agile methods can be used. Discusses the methods for designing and developing big software in detail. Features a three-chapter, in-depth, single case study of a building security system. For Software Engineers, Programmers, and Analysts who want to understand how to design object oriented software with state of the art methods.

Frequently Bought Together

Agile Software Development, Principles, Patterns, and Practices + Clean Code: A Handbook of Agile Software Craftsmanship + Refactoring: Improving the Design of Existing Code
Price for all three: $132.79

Buy the selected items together

Editorial Reviews

From the Back Cover

Best selling author and world-renowned software development expert Robert C. Martin shows how to solve the most challenging problems facing software developers, project managers, and software project leaders today.

    This comprehensive, pragmatic tutorial on Agile Development and eXtreme programming, written by one of the founding father of Agile Development:
  • Teaches software developers and project managers how to get projects done on time, and on budget using the power of Agile Development.
  • Uses real-world case studies to show how to of plan, test, refactor, and pair program using eXtreme programming.
  • Contains a wealth of reusable C++ and Java code.
  • Focuses on solving customer oriented systems problems using UML and Design Patterns.

Robert C. Martin is President of Object Mentor Inc. Martin and his team of software consultants use Object-Oriented Design, Patterns, UML, Agile Methodologies, and eXtreme Programming with worldwide clients. He is the author of the best-selling book Designing Object-Oriented C++ Applications Using the Booch Method (Prentice Hall, 1995), Chief Editor of, Pattern Languages of Program Design 3 (Addison Wesley, 1997), Editor of, More C++ Gems (Cambridge, 1999), and co-author of XP in Practice, with James Newkirk (Addison-Wesley, 2001). He was Editor in Chief of the C++ Report from 1996 to 1999. He is a featured speaker at international conferences and trade shows.

About the Author

ROBERT C. MARTIN is President of Object Mentor Inc. Martin and his team of software consultants use Object-Oriented Design, Patterns, UML, Agile Methodologies, and eXtreme Programming with worldwide clients. He is the author of the best-selling book Designing Object-Oriented C++ Applications Using the Booch Method (Prentice Hall, 1995), Chief Editor of, Pattern Languages of Program Design 3 (Addison Wesley, 1997), Editor of, More C++ Gems (Cambridge, 1999), and co-author of XP in Practice, with James Newkirk (Addison-Wesley, 2001). He was Editor in Chief of the C++ Report from 1996 to 1999. He is a featured speaker at international conferences and trade shows.

Product Details

  • Hardcover: 529 pages
  • Publisher: Prentice Hall; 1st edition (October 25, 2002)
  • Language: English
  • ISBN-10: 0135974445
  • ISBN-13: 978-0135974445
  • Product Dimensions: 10.1 x 8 x 0.9 inches
  • Shipping Weight: 2.6 pounds (View shipping rates and policies)
  • Average Customer Review: 4.7 out of 5 stars  See all reviews (47 customer reviews)
  • Amazon Best Sellers Rank: #222,676 in Books (See Top 100 in Books)

More About the Author

Discover books, learn about writers, read author blogs, and more.

Customer Reviews

Most Helpful Customer Reviews
85 of 89 people found the following review helpful
I don't think I've given another design/programming book 5 stars before. This book deserves it-- it could easily replace a half dozen books on my shelf, and it probably will.
Martin focuses on the why's and the wherefores of current OOD methodologies. He doesn't try to sell Agile Processes in this book. Instead, he explains a number of current practices that might be loosely grouped under the 'Agile' name. He anchors his discussion in a set of principles that drive the design process. Then he shows how software patterns can be used to put these principles into practice.
Patterns are explained and demonstrated in the context of three case studies. The case studies (a payroll system, a weather monitoring system, and an exam testing system) have the feel of day-to-day problems. One of my chief complaints with other books has been the use of esoteric case studies-- unless I work for Microsoft, I'm not likely to write a word processor anytime soon. Okay, so maybe I won't write a weather station either, but it comes a lot closer to what I will do!
The patterns discussion in this book is down-to-earth and easily understood. I have struggled over the 'Gang of Four' book ('Gamma et Al, 'Design Patterns') for well over a year. Bob Martin's book has cut through a lot of the clutter and confusion. It has been a great help to me in understanding why, where, and when to use different patters. And the explanation of UML in the book's appendices is one of the best I have seen. I can't think of a better way to learn UML than to sit down with these Appendices and Martin Fowler's 'UML Distilled'.
This is one of the two books I would recommend to an OOD newbie. The other would be 'Object Design' by Rebecca Wirfs Brock and Alan McKean. These books provide a solid grounding in object-oriented design, while requiring a very reasonable expenditure of time and effort.
Was this review helpful to you?
26 of 26 people found the following review helpful
5.0 out of 5 stars Clear, specifc, applicable April 29, 2004
The bulk of this book describes OO design principles. They're presented in a readable, useful, and well-organized way. Often they just clarify and put a name to something you've probably been doing anyway. The standard Dependency Inversion Principle is there, for one. (I'm glad to see that other people have trouble with the name. By today's reckoning, there's nothing inverted about it, but the name dates back to less enlightened times.) Others, like the Interface Segregation Principle, are less well known but reinforce lots of other good practices, such as data hiding and prevention of "interface leakage".
The "Agile" section is blessedly short, and doesn't much contaminate the otherwise good presentation elsewhere in the book. There's a lot of good to be extracted from the agility movement, but there's a lot of rabid dogmatism too. Martin managed to keep it well under control. He presented the Manifesto (ugh) early on, but that was the worst of it.
A few points marred the book, but only slightly, The drawings came across as "cute" - unprofessional and tangential to the topics at hand. Semi-fictional conversations in books like this always seem fatuous to me, and Ch.6 was no exception. The technical content managed to withstand this presentation anyway.
This book has lots of good ideas. It relates those ideas well to common and useful design patterns. A few aspects of the book tried to be funny, but came across as more annoying than anything else. That was only a few, though - the meaningful content of the book came through despite those flaws.
I recommend this book to any serious student or practitioner of OO design and implementation. I really mean "any," since even project-scarred veterans are likely to see some of their hard won knowledge set into clear text and into the context of other ideas.
Was this review helpful to you?
26 of 27 people found the following review helpful
5.0 out of 5 stars Best O-O design book in this year November 22, 2002
I knew the book would be a great one before read it. But now, after I read some of its chapters, I know I underestimated it.
I love to read Uncle Bob's books and articles. His previous book "Designing Object-Oriented C++ Application with Booch Method" is a real gem, I learn much a lot from it, maybe more than any other books on designing. The author's style is unique, he tries to guide readers to reach a good design instead of just putting the final solution in front of you. He presents the whole process of design, shows you how to think, how to verify, how to test and modify. His is a real mentor who gives you solid knowledge and solid experience by solid examples. So, I expected learn a lot from this new book.
The book shows that it's more than my expectation. It keeps the good style, plus very valuable contents. It present at least 4 aspects which are very important and useful for today's programmers:
* Agile method: The author show you you how to USE agile method. Still he tell you a lot about "Why". I'm not a XPer, but after reading the first several chapters, I think I'd give a try.
* Object-Oriented Design Principles: The book concludes 11 O-O design principles. Only these principles are worth the price of the book to me.
* Design patterns: This book teach you 23 design patterns with concrete examples -- 15 are GoF patterns, 8 are new. The emphasis is how to use patterns in real applications, instead of telling you what design patterns are and how to document them.
* UML: This book is not about UML, but it uses UML to demostrate designs. To make you feet wet, it includes two appendics, show you basic UML with, again, concrete example. I find it's much easier for me to learn UML this way.
Well, IMHO, this book is the best O-O design textbook this year, and I wonder whether there will be a better one in the next several years.
Comment | 
Was this review helpful to you?
Most Recent Customer Reviews
2.0 out of 5 stars Disappointing
There was much hype about this book over the internet and in my programming circle. However the book kind of failed to live up to expectations. Read more
Published 3 months ago by Taylor Wacker
5.0 out of 5 stars Great book on the principles and disciplines of agile software...
Uncle Bob has a great way of delivering complex theories and practices in a simple manner. It works great using real code examples and study cases showing how the different... Read more
Published 7 months ago by Trond Bordewich
4.0 out of 5 stars Good book
This is a good solid design book that should be useful to lots of people. It was useful to me
Published 8 months ago by Mike D
5.0 out of 5 stars Awesome book
Uncle Bob's book on Agile software Development is really the only book needed to cover the course in Software Engineering. Read more
Published 10 months ago by spinnybobo
5.0 out of 5 stars The only OO design book you will need
I had loaned this from my library and on reading felt that I had to have this book on my desk. So bought it immediately. Read more
Published 10 months ago by Arvind K
5.0 out of 5 stars Awesome book
Just Awesome..Written some time back, but the principles hold true in this ever changing IT world. Design Patterns and TDD explained elaborately. Must for every Java developer.
Published 10 months ago by Ash
5.0 out of 5 stars Incredible, deserves its reputation
I was a bit hesitant to buy this book, because it's expensive, there's no Kindle edition, and I couldn't really find as much info about it as I wanted to before buying. Read more
Published 11 months ago by yitznewton
5.0 out of 5 stars AMAZING - The Reference
This is the reference in your library. If you are in Programming world and you dont have this book, you are missing something that you wouldn't know you are missing... Read more
Published 16 months ago by Houman Kargaran
5.0 out of 5 stars Perfect
Taught me everything I needed to know about AGILE and more. It really helped with my school work and projects as well.
Published 18 months ago by Maria
4.0 out of 5 stars Evaluation
The text if of good quality and comprehensive, but it could be presented in a more user-friendly way.
Published 18 months ago by Cedric Bonnevie
Search Customer Reviews
Search these reviews only

Sell a Digital Version of This Book in the Kindle Store

If you are a publisher or author and hold the digital rights to a book, you can sell a digital version of it in our Kindle Store. Learn more


There are no discussions about this product yet.
Be the first to discuss this product with the community.
Start a new discussion
First post:
Prompts for sign-in

Look for Similar Items by Category