BOOKS: GENERAL INTEREST
Agile Software Development: Principles, Patterns and Practices
Robert C. Martin
(Prentice Hall, 2002)
Robert C. Martin, author |
Robert Martin is, in his own words, “happy as a clam,” and this infectious
joy permeates Agile Software Development. Martin spent six years evolving
the book from its initial charter as a second edition of Designing Object-Oriented
C++ Applications Using the Booch Method(Prentice Hall, 1995) to its final
incarnation as a bible of agile practices and design concepts. Bible is an apt
description for the work, which incorporates 30 chapters and a multitude of appendices,
case studies, patterns and even the Manifesto for Agile Software Development printed
inside the cover. Martin’s engaging pedagogical style holds the reader’s
attention, as does his mix of dialogue and code listings (an approach that will
be familiar to followers of his Craftsman column for this magazine) with OO/agile
practice and design discussions. The four appendices offer additional goodies:
two UML notation examples, a satire of agile versus nightmare companies and “The
Source Code Is the Design,” an essay by Jack Reeves. As effusive and unpredictable
as Martin himself, this book stands out among the past year’s other agile
titles as the one most clearly stamped with its author’s ebullient effectiveness.
—Alexandra Weber Morales
Documenting Software Architectures: Views and Beyond
What good is a well-written software architectural document if you can’t
communicate it effectively to different audiences? Documenting Software
Architectures concisely articulates and illustrates ways to target
a specific readership and manage the entire technical-writing process
to encourage others to do what you need them to do. The book also offers
powerful document design and development techniques for the reader to
explore. Documenting a panoply of architectural views, communicating to
the right audience and managing the whole process—all tucked in
between two covers and ably compiled by the eight-member Carnegie Mellon
SEI team. You’ll want to keep this book at hand. —Rosalyn Lum |
Patterns of Enterprise Application Architecture Patterns of Enterprise Application Architecture is a useful reference and a thought-provoking read, as well as a great introduction to enterprise application development design. Enterprise applications are systems with large amounts of persistent data that is accessed concurrently through many user interface screens.
Fowler describes 51 patterns in great clarity, many of which, depending
on your enterprise application experience, are familiar. The book’s
first hundred pages shine brightest: The author compares similar patterns
and offers some well-reasoned advice to help the reader determine when
to choose one pattern over another. The section ends with an interesting
chapter on enterprise application architecture as a specific sequence
of pattern choices, discussing the way that the choice of Java or .NET
affects design. —Hugh Bawtree |
Test-Driven Development: By Example
In his latest contribution to the growing XP canon, Kent Beck homes in
on one of its most confounding tenets: writing a test before coding a
solution. In the book’s first example—building a currency
conversion program in Java—Beck conversationally codes the program
one test and one unit of functionality at a time. Then, to make things
a bit more confusing, he creates an xUnit testing framework in Python,
suggesting that dedicated XPers should roll their own language-specific
testing frameworks. The testing patterns in Part III comprise an invaluable
catalog: from basic testing behaviors (how to start, take a break, when
to stop) to incremental ways to make tests work (faking it, triangulation)
to technical patterns (mock objects, “Self Shunt,” “Log
String,” “Crash Test Dummy”). Parts I and II may smack
of self-indulgent stream-of-consciousness, but they lead effectively to
the test patterns in Part III. —Alexandra Weber Morales
|