Mini-review: Emergent Design

06/21/09

Permalink 11:59:05 am, by truewill Email , 248 words, 261 views   English (US)
Categories: Agile, Quality, Books

Mini-review: Emergent Design

It’s taken me a long time, but I finally finished Scott Bain’s book Emergent Design: The Evolutionary Nature of Professional Software Development.

As the title suggests, the book is evolutionary, not revolutionary. I’m still looking for someone to bridge the gap between the Agilists and the Architects, to point out where long-term design has a place. Developers experienced in both OO and Agile design may find much of the material familiar. It’s a valuable book, though, building on principles popularized by “Uncle” Bob Martin and others. Mr. Bain covers a lot of ground, and many readers will be exposed to new ideas (always a good thing).

Most of the examples are in Java, although a few are in C#. They are generally simple and to the point. A passing familiarity with UML will aid comprehension, but is not a requirement. The text is well-written; Mr. Bain has an informal style that keeps the material from being dry. He also provides amusing real-world analogies.

I found the patterns overview (Appendix B) extremely valuable. It’s 84 pages long; I read a pattern a day in the morning until I finished it.

One downside is the number of typos in the book. The UML diagrams seemed particularly susceptible.

If you’re not deeply familiar with all of the following, read this book:

  • Agile development
  • Cohesion
  • Coupling
  • Refactoring
  • Unit Testing and Test-Driven Development
  • Separation of Concerns
  • Dependency Inversion
  • Design Patterns

Bob Martin’s Clean Code would make a nice prerequisite.

See also: Practices vs. Simplicity

Comments, Pingbacks:

No Comments/Pingbacks for this post yet...

Leave a comment:

Your email address will not be displayed on this site.
Your URL will be displayed.

Allowed XHTML tags: <p, ul, ol, li, dl, dt, dd, address, blockquote, ins, del, span, bdo, br, em, strong, dfn, code, samp, kdb, var, cite, abbr, acronym, q, sub, sup, tt, i, b, big, small>
(Line breaks become <br />)
(Set cookies for name, email and url)
(Allow users to contact you through a message form (your email will NOT be displayed.))
The name truewill is composed of two other words. What is the SECOND word?

Development Central

Development Central is the blog of Bill Sorensen, a professional software developer. Much of this will relate to C#, .NET, and OOP in general.

Disclaimer
These postings are provided "AS IS" with no warranties and confer no rights.

Search

Categories

Linkblog

b2evolution

contributors

XML Feeds

What is RSS?

Who's Online?

  • Guest Users: 2

powered by b2evolution free blog software