Goodreads helps you keep track of books you want to read.
Start by marking “Agile Software Development, Principles, Patterns, and Practices” as Want to Read:
Agile Software Development, Principles, Patterns, and Practices
Enlarge cover
Rate this book
Clear rating
Open Preview

Agile Software Development, Principles, Patterns, and Practices

4.25  ·  Rating details ·  1,199 ratings  ·  49 reviews
Written by a software developer for software developers, this book is a unique collection of the latest software development methods. The author incudes 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 obje ...more
Hardcover, 552 pages
Published October 15th 2002 by Pearson
More Details... Edit Details

Friend Reviews

To see what your friends thought of this book, please sign up.

Reader Q&A

Popular Answered Questions
Vitor Cavalcanti de Albuquerque Yes, all the patterns, principles and practices in this book are language independent. However, I must tell you that the examples are written in Java …moreYes, all the patterns, principles and practices in this book are language independent. However, I must tell you that the examples are written in Java and C. So you will probably need to do some research and translation to Javascript/PHP.(less)

Community Reviews

Showing 1-30
Average rating 4.25  · 
Rating details
 ·  1,199 ratings  ·  49 reviews

More filters
Sort order
Start your review of Agile Software Development, Principles, Patterns, and Practices
Rod Hilton
Dec 05, 2008 rated it it was amazing
This book covers a great deal of material: Martin talks about the basic practices of agile software development, the principles of good object-oriented design, and common OO design patterns.

This book is, in my opinion, a career-changer. Having a single book that teaches what it essentially means to move from being a programmer to a real software craftsman is invaluable. I'd recommend this for any experienced programmer who wants to transition to a more professional approach to writing high quali
Vitor Cavalcanti de Albuquerque
A must-read for developers willing to build maintainable, testable and scalable software. It teaches you the basics for agile "software development", TDD, SOLID principles, design patterns and much more. Also, you really need to try out the patterns and practices presented in this book so you can feel how it is to create a "Clean Architecture". On the other hand, the reader might need some programming experience before trying to understand all the reasons and solutions proposed in this book. ...more
Sep 01, 2012 rated it liked it
This book alternates between incredibly useful and frustratingly complex. Its explanations of the practical use of software design patterns as well as various principles of object-oriented design are so clear and pragmatic that I can safely say this book has shaped my programming practices. For that, I want to give it 5 stars. Then suddenly comes one of these monster case studies in which he describes in painful detail some programming problem in the most convoluted way possible, including UML d ...more
Apr 29, 2014 rated it really liked it
This book is a great overview of patterns & workflows for writing code in an agile process. There isn't a lot of new information in the book, as most of it can be found in more detail elsewhere, but if you're looking for a consolidated overview or refresher, I highly recommend it. It's also great for the case studies, which are well-written examples of how to do some of this stuff in real-world scenarios. ...more
Jul 12, 2019 rated it it was amazing
I've read it for 1.5 years. 🙄 Just because I've overestimated its complexity.
The book actually consists of SOLID principles, bunch of GoF patterns with fancy modifications, and a chapter on packaging. There are a lot of case studies here.

The style is very good, while sometimes too verbose. I liked that some decisions are explained so many times that I've understood 😀.

So, having a paperback copy of a classic book is a good idea.
Ricardo Cavalcanti
I completely agree with Vitor's Review. ...more
Razvan Matei
Dec 19, 2017 rated it it was amazing
Recommends it for: Computer Science students
I've read up this book up to the Packaging the Payroll System, right before starting the ETS Study Case. The reason for this abandon is that this book is very large (at least for me, a novice in reading technical books).

It is a great book for learning Design Patterns. Also, it is a nice read as the author has a good sense of humor, and inserts funny stuff here and there.
Per Flitig
Feb 17, 2019 rated it liked it
Shelves: tech
It’s a bit dated but the book provides a lot of useful information on making software projects successful. It’s the kind of book I wish I read a long time ago at the beginning of my career. Still, it’s valuable to revisit these concepts once in a while.
I would categorize this book as recommended reading for budding software engineers.
Rodrigo Almeida
Apr 09, 2018 rated it it was amazing
Shelves: must-read, my-library
Excelent book. Every developer must read this book, at least, once in your professional life. It hasn't just talking about design patterns, but how to get there and when and if makes sense. Give you a critical vision about design patterns, refactoring, TDD and process development. ...more
Sigit Hadi
Oct 14, 2017 rated it it was amazing
book that you should read .
Ivan Ković
Aug 08, 2018 rated it it was amazing
Nice explanation of SOLID principles. Some of the stuff is outdated but conveys the message good enough
Oct 04, 2019 rated it did not like it  ·  review of another edition
Tianyao Chen
Sep 04, 2020 rated it liked it
Shelves: tech-books
The first few chapters until SOLID and design patterns are more relevant to Agile.
Sep 05, 2020 rated it really liked it
Recommends it for: nerds
Recommended to Boogie by: IT industry
Clench your teeth or you will not finish this magnificent piece of art. It's packed with C++ and Java snippets, UMLs, case studies, etc. It's more like having a job than reading a book. ...more
Dec 12, 2020 rated it it was amazing
It was big changer in my career. It teached me how to be a developer. Not just a coder.
Jose Ernesto
Dec 20, 2020 rated it it was amazing
a must read for a software developer
Arvind Balasubramaniam
Feb 16, 2015 rated it really liked it
Shelves: computers
Pretty much a bible on Agile development and design including the "SOLID" principles. The examples on design patterns are also well written, with much detail going into the evolution of the patterns. The author tends to work from first principles while designing, so it mimicks real life development and is a good reference point for the inexperience developer. I docked one point because some of the code examples (especially, the code walkthrough chapters) were way too long-winded and some of the ...more
John Doe
Apr 03, 2014 rated it it was amazing
The authoritative work on modern software development.

To anyone who bought this book as a reference to SOLID: please, please read the whole thing. Especially the Package Principles are extremely undervalued.

To anyone not using the OO paradigm (eg. applying functional programming), please don't discard this book for the parts biased towards it. Many of Uncle Bob's insights are paradigm agnostic, despite OO developers focusing on SOLID in the context of OO when referencing this book.

An absolute mu
David Espley
Jan 06, 2013 rated it it was amazing
Recommends it for: All software developers
Having finished this book for the second time, I am struck by what a profound influence the material contained has had on my career. Quite simply this is the very best book on programming I have ever read. If you can follow the SOLID principles contained within you will write high quality, compact and maintainable code.

I am currently encouraging a group of about 20 developers to study this book and share their experiences
Jun 03, 2013 rated it liked it
This has a lot of great advice. The advice is ageless but the delivery is dated. I recommend some of Uncle Bob's newer books:
Jan 21, 2014 rated it really liked it
Some of the code examples are dated in the late 2000s/early 2010s, but the concepts are rock solid. The chapters on software packaging and calculating package metrics with the Main Sequence and Stable Abstraction Principle is a fairly significant, under-researched contribution to the software engineering research space. Worth a read,cover-to-cover.
Raghu Hudli
Jan 04, 2015 rated it it was amazing
One of the best books on design principles. The source for SOLID design design principles. Robert Martin takes the focus away from notation and focusses on design problems - the most important one of achieving loose coupling - required for any scalable and extensible system.

I found it a great source for some of my training programs on object-oriented design.
Piotr Żak
Sep 30, 2015 rated it it was amazing
Really great first two sections: 'Agile Development' and 'Agile Design' - must read for each developer IMO. One of the lesson is: 'Apply principles when you see some code smells - don't apply principles just for applying principles'
The rest of the book is good design pattern refresher. I also recommend to read last section 'The ETS Case study'.

Jul 29, 2008 rated it it was amazing
Recommends it for: Software Engineers, developers
I just like Robert Martin and am going to read just about anything that he writes. This book is no exception. It was pretty funny - I was in the midst of reading this and the local dot net users group had a meeting covering this material.
Ash Moran
Dec 30, 2009 rated it it was amazing
Shelves: agile
Two big wins I got from this: how coding and design patterns weave to evolve a system; how to methodically apply fundamental design principles which apply at all layers (eg single-responsibility, open-closed) to produce simple, stable code.
May 08, 2014 rated it really liked it
Some parts are a slog to wade through, and others seemed to be superceded by more recent writing - even Uncle Bob's own. But overall, this is a classic book on how and why to build software in an agile wyay. ...more
Jun 24, 2014 rated it it was amazing
Shelves: work
For a technical software book this has aged very well. Some of the stuff is still useful today. At the time I read this the OO-design stuff was really new and useful. Made me write software in a whole new way.
Mar 07, 2015 rated it really liked it
Excellent book to understand the fundamentals of agile software development. Its a good introduction to software principles and design patterns. Some of the case studies or examples are a bit difficult to follow.
Tom Hamilton
Oct 07, 2008 rated it really liked it
One of the best technical books I've read. Gives a solid, practical overview of agile software techniques. ...more
Julie Bell
Jul 05, 2009 rated it it was amazing
Ok, I didn't read this one cover to cover, but I did read half of it and will definitely be referencing it frequently. ...more
« previous 1 next »
There are no discussion topics on this book yet. Be the first to start one »

Readers also enjoyed

  • Refactoring: Improving the Design of Existing Code
  • The Pragmatic Programmer: From Journeyman to Master
  • Test-Driven Development: By Example
  • Design Patterns: Elements of Reusable Object-Oriented Software
  • Patterns of Enterprise Application Architecture
  • Working Effectively with Legacy Code
  • Domain-Driven Design: Tackling Complexity in the Heart of Software
  • Head First Design Patterns
  • Growing Object-Oriented Software, Guided by Tests
  • Extreme Programming Explained: Embrace Change (The XP Series)
  • Code Complete
  • Accelerate: Building and Scaling High-Performing Technology Organizations
  • Effective Java
  • Refactoring to Patterns
  • Peopleware: Productive Projects and Teams
  • Enterprise Integration Patterns: Designing, Building, and Deploying Messaging Solutions
  • The Mythical Man-Month: Essays on Software Engineering
  • Code: The Hidden Language of Computer Hardware and Software
See similar books…

Goodreads is hiring!

If you like books and love to build cool products, we may be looking for you.
Learn more »
Robert Cecil Martin, commonly called Uncle Bob, is a software engineer, advocate of Agile development methods, and 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 was Editor in Chief of the C++ Report from 1996 to 1999. He is a featured speaker at internatio

News & Interviews

Here’s some trivia for your next vacation get-together: The concept of the summer “beach read” book goes all the way back to the Victorian...
9 likes · 8 comments