Prime Agile Software Development, Principles, Patterns, and Practices (Alan Apt Series) Author Martin Robert – Andy-palmer.co.uk
G Day,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 Just buy it already Pros Amazing, detailed, very very powerful concepts Especially if you nothing on Agile development.Cons There is no cons on this book If you know nothing about programming still buy it, you will need it down the track.I wish there was a PDF of this book, Or I couldn t find one I hate reading stuff on paper Anyway I am about to read this book for the second time I have used the methodology in couple of my big projects on mine and it saved my a.Recommendations Read it once, like scanning it Second time read it in details and slowly until your penny drops Third time just use it as a reference Don t forget to have your highlighter, and Sticky note with you Do not lend this book to anyone or you will lose it trust me.Hooroo.H. 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 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 But I like Uncle Bob s stuff, and when I had the opportunity to get reimbursed by my work, I went for it.How happy I am that I did This book is an absolute trove of knowledge and experience It has a full exposition of the SOLID principles, as well as a primer on the author s strict approach to TDD Over half of the book is devoted to in depth discussion of design patterns, with fully developed case studies I ve been using patterns for several years, but this is by far the most accessible work that I ve found with this much breadth and detail.What took me totally by surprise was something I d been looking for for a while and could not find a straight up practical example of pair programming Bob spends 42 pages on a transcript of a pair session he participated in to do the bowling score kata That alone almost would have made it worth it for me, because I am curious about good implementation of pairing, and I have no ready examples.The other point that really hit home as an eye opener was the principle do the simplest thing that will work Since coming to OOP and design patterns, I ve been too concerned with elegantly engineering things, and sometimes lost sight of the goal and the best way to reach it This principle, in tandem with the strict test first, write one failing test and code it approach, gave me permission to solve problems clearly and simply, without unneeded abstractions.If you want to expand your understanding of the aforementioned methodologies, and especially if you already appreciate the author s style and perspective, I couldn t recommend this book enough. After reading this text, I feel it deserves the attention of other great texts such as Design patterns and Refactoring, even though much of it s content expounds upon the ideas of these two classics It s my opinion that this text has two strong points it explains the ideas and details of agile development very clearly, and it does an excellent job of explaining the most popular patterns originated by GOF, plus a few The authors style was very good, with most of the examples in Java Being a C programmer, I would have liked to see examples in that language, but this is not any fault of the author. I d expected a much detailed description and case studies of agile methods The actual presentation on the concepts is only that, a summary of the concepts The rest of the book is a lot detail on the core concepts of good practice and the application of patterns This is excellent material and it is well presented and interesting You ll learn a lot of good insites The examples were informative but not really detailed enough to leave you feeling you know the material in one reading This book takes some real study for the informaton to sink in I bet if your developing code you ll really gain from the re visiting sections of the book until it becomes second nature Your going to want to give this book to your friends. I find myself going back to this book over and over again It s true that it makes a great compendium of a wide range of topics, but to me, one of the best things about this book is that there are practical considerations taken up that you will not see discussed at length elsewhere Frankly, I wish Bob had let himself go by stating some of the other as prerequisite and explored deeper into that territory Example discussion of package structure and marking packages as fixed or volatile, and how to manage dependencies, etc There is a great tie in with Meyer here All around great book. Uncle Bob va escriure l any 2002 aquest llibre on descriu els principis SOLID i desenvolupament agile El llibre cont s 6 seccions Les dos primeres s n te riques, les 4 s n casos d estudi L edici s de tapa dura per la unica pega per mi s el paper, s massa fi Sembla paper de fumar. Martin has distilled his knowledge and experience in this excellent book, using the peculiar style that characterizes his craftsman s columns in the now extinct Software Development magazine.As the book s subtitle suggests, it covers practices, principles, and patterns that have been demonstrated to be useful in software development It does so by presenting examples, with plenty of source code This is one of the book s strongest points, since programmers can immediately learn how to apply well known design patterns in programming languages such as C or Java Moreover, code reading is a usually neglected activity in a software developer s education Such activity, however, is a suitable tool for transferring programming expertise, as well as the proper way to illustrate the importance of the practices and principles discussed in the text.The book starts with the manifesto of the so called agile movement Once the stage for agile development is set, the book presents the set of extreme programming practices, and devotes a few chapters to describing some of them in greater detail the planning game, test first design, and refactoring.Apart from the aforementioned development practices, the book includes two sections devoted to design principles The first of them addresses class design problems, while the second covers package design Using an analogy that compares software designers to surgeons, the author makes it clear that a design must remain clean In order to achieve that licit goal, which boils down to improving cohesion and decreasing coupling, several design principles are studied For instance, with regard to class design, inheritance use and abuse is regulated by the Liskov Substitution Principle subtypes must be substitutable for their base types With respect to package design, in my opinion the best section of the book, Martin explains how to avoid undesirable dependencies between packages, why they are not desirable, and how they can be detected using software metrics.The book also presents a good overview of some of the most well known software design patterns Martin groups them according to their applications, and discusses them in the chapters that precede each one of the three main case studies included in the book The first case study illustrates how quick analysis and design sessions lead to unit tests, which in turn are used to implement actual applications, where interfaces are clearly separated from implementation details The second case study shows how a system design evolves over time, and how design patterns are incorporated into it as they are needed Finally, the last big case study describes the decisions that lead to the construction of a software framework for big applications These case studies include literally thousands of lines of C and Java source code, which let the reader grasp how practices, principles, and patterns are used in the real world.Finally, the book s appendices include clear cut explanations of the unified modeling language UML notations, a satire of two antagonistic software development approaches, and a reprint of a Jack Reeves C Journal paper on software design The parody of the development companies is overstretched, but enlightening it describes common situations that would arise in a bureaucracy driven management environment namely, a strict waterfall development model , and it underscores the best qualities of agile development namely, fluid communication among project stakeholders, and value maximization through feature prioritization and incremental development.In short, Martin has done an excellent job of writing an entertaining and instructive bible of agile practices and design concepts No wonder this book received the Software Development 13th Jolt Product Excellence Award Its 30 chapters and four appendices contain a mix of textual explanations, dialogues, and code listings that make it stand out over other books in its category.PS A newer C version of the same book also exists Agile Principles, Patterns, and Practices in C.