Ive been looking at how to improve the design phase of our projects.
For me there are two issues:
a. How to improve our Analysis/Design skills
b. How to allow us to do meaningful design reviews
UML and ORM are tools that help, but reading this book made it clear to me that these are relatively 'low level' tools both for design, and for review.
An analogy in the book put it this way ... If two carpenters were deciding what joints to use when creating a cabinet, they would not be talking in terms of "I think we should make a joint where I cutting straight down into the wood and then cut back up at 45 degrees, then going straight back down, and then back up the other way at 45 degrees, and then straight back down ....". They would simply say that they think they should use a dovetail joint.
This is a high level pattern that both parties understand. It not only speeds the design process, but also helps to describe the design to others in a meaningful way.
I found this book to be a really accessible way of informing myself about the usefulness of patterns, and for getting a clear understanding of their use.
This book was a real eye opener for me, and I would encourage anyone who has not already looked into OO design patters, or who doesn't use patters in their design process to buy this book.
The most productive weekend read I've had in a long time!