10/20/2009

Review of AntiPatterns: Refactoring Software, Architectures, and Projects in Crisis (Paperback)

OK, i *know* i'm going to get beaten up for picking on a classic like this, but i just did something most people i know who own this book never do - i read the whole thing cover to cover. And here's what i learned - the authors are not very intelligent, the book is hopelessly biased towards the author's preferences (OOP and extreme programming; it also seemed CORBA heavy, but i'm not sure they actually implied CORBA was the best), the format or the way they used it was worthless, most of the points they make are unjustified (and wrong) assertions and the authors love to talk about things they have no background or experience in (a good chunk of the book is spent in an amateurish attempt at psychology, telling you about the personal insecurities and what not of people you don't like)

Bottom line, after reading this, there's nothing you can really do to change your projects or your software

i don't expect you to believe me, so let me quote some pieces of the book

Problem: email is bad because it puts things in writing. Solution: don't use it for criticism. Quote: "e-mail discussion groups send dozens of postings on all kinds of topics, including the trivial and nonessential. These lengthy discussions are time-consuming and labor-intensive."

Antipattern: Irrational Managment. Refactored Solution: Rational Decision Making. Quote: "the manager may have... personality limitations that cause them to be ineffective or irrational managers... Refactored Solution... 1. Admit you have a problem and get help."

Antipattern: Functional Decomposition. Refactored Solution: Object Oriented Reengineering. Symptoms and Consequences:"- An incredibly degenerate architecture that completely misses the point of object-oriented architecture.- No hope of ever obtaining software reuse.- Frustration and hopelessness on the part of testers." Causes: "- those who generate specifications and requirements don't necessarily have real experience with object-oriented system."

And so on and so on. Of course, if you don't see the problems in the above and think these are perfectly intelligent, realistic, constructive, actionable things to say in a book on how to improve software, then maybe this is the book for you

On a final note, the title of the book "Antipatterns - Refactoring software, architectures and projects in crisis" sounds like it applies to all systems development. Instead, the book is 100% focused on OOP. OOP is good, but i would have made that obvious on the cover so you know what you're getting. Hate to recommend this to people writing or maintaining VB, COBOL, ERP, CRM or other systems only to have them learn that there's nothing they can do with it

Product Description
"The AntiPatterns authors have clearly been there and done that when it comes to managing software development efforts. I resonated with one insight after another, having witnessed too many wayward projects myself. The experience in this book is palpable." -John Vlissides, IBM Research "This book allows managers, architects, and developers to learn from the painful mistakes of others. The high-level AntiPatterns on software architecture are a particularly valuable contribution to software engineering. Highly recommended!" -Kyle Brown Author of The Design Patterns Smalltalk Companion "AntiPatterns continues the trend started in Design Patterns. The authors have discovered and named common problem situations resulting from poor management or architecture control, mistakes which most experienced practitioners will recognize. Should you find yourself with one of the AntiPatterns, they even provide some clues on how to get yourself out of the situation." -Gerard Meszaros, Chief Architect, Object Systems Group Are you headed into the software development mine field? Follow someone if you can, but if you're on your own-better get the map! AntiPatterns is the map. This book helps you navigate through today's dangerous software development projects. Just look at the statistics:
* Nearly one-third of all software projects are cancelled.
* Two-thirds of all software projects encounter cost overruns in excess of 200%.
* Over 800f all software projects are deemed failures.
While patterns help you to identify and implement procedures, designs, and codes that work, AntiPatterns do the exact opposite; they let you zero-in on the development detonators, architectural tripwires, and personality booby traps that can spell doom for your project. Written by an all-star team of object-oriented systems developers, AntiPatterns identifies 40 of the most common AntiPatterns in the areas of software development, architecture, and project management. The authors then show you how to detect and defuse AntiPatterns as well as supply refactored solutions for each AntiPattern presented.

Click Here to see more reviews about: AntiPatterns: Refactoring Software, Architectures, and Projects in Crisis (Paperback)

No comments:

Post a Comment