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,157 ratings  ·  46 reviews
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 obje ...more
Hardcover, 552 pages
Published October 25th 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,157 ratings  ·  46 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.
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
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.
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
Ricardo Cavalcanti
I completely agree with Vitor's Review. ...more
Per Flitig
Feb 17, 2019 rated it liked it
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.
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.
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.
Oct 04, 2019 rated it did not like it  ·  review of another edition
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
Sigit Hadi
Oct 14, 2017 rated it it was amazing
book that you should read .
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
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:
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
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.
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.
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'.

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.
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.
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.
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.
Jalal sadeghi Sadeghi
Nov 18, 2016 rated it it was amazing
Similar to all uncle bob works very good and useful
Nov 18, 2013 rated it it was amazing
What of the best complete introduction for programmers to agile techniques.
Rodion Krivoshein
Jun 05, 2016 rated it it was amazing  ·  review of another edition
Shelves: programming
Learn SOLID principles to turn yourself into a solid software engineer.
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.
Kaloyan Roussev
Oct 07, 2016 rated it it was amazing
Shelves: programming
How to be a professional Software Engineer - Architecture, patterns, tdd and more
Nov 10, 2014 rated it liked it
Ten years ago it deserved more.
« previous 1 next »
topics  posts  views  last activity   
python 1 4 May 29, 2018 04:38AM  

Readers also enjoyed

  • Refactoring: Improving the Design of Existing Code
  • Test Driven Development: By Example
  • The Pragmatic Programmer: From Journeyman to Master
  • Working Effectively with Legacy Code
  • Design Patterns: Elements of Reusable Object-Oriented Software
  • Patterns of Enterprise Application Architecture
  • Refactoring to Patterns
  • Domain-Driven Design: Tackling Complexity in the Heart of Software
  • Enterprise Integration Patterns: Designing, Building, and Deploying Messaging Solutions
  • Head First Design Patterns
  • Extreme Programming Explained: Embrace Change (The XP Series)
  • Growing Object-Oriented Software, Guided by Tests
  • The Passionate Programmer
  • Agile Estimating and Planning
  • Code Complete
  • The Mythical Man-Month: Essays on Software Engineering
  • Peopleware: Productive Projects and Teams
  • Effective Java
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

Need another excuse to treat yourself to a new book this week? We've got you covered with the buzziest new releases of the day. To create our l...
14 likes · 1 comments