Thursday, November 10, 2011

Small Things

November 6, 2011 9:00 PM

Jim ("Cope") Coplien is an old C++ shark who now integrates the technological and human sides of the software business as an author, coach, trainer, and executive consultant. He is one of the founders of the software pattern discipline, and his organizational patterns work is one of the foundations of both Scrum and XP. He currently works for Gertrud & Cope, is based in Denmark, and is a partner in the Scrum Foundation. He has authored or co-authored many books, including the recently released Wiley title, Lean Architecture for Agile Software Development. When he grows up, he wants to be an anthropologist.

Uncle Bob honored me back in 2008 by asking me to pen the foreword to Clean Code
(Prentice-Hall, 2008). Though perhaps better known for writing about programming in-
the-large, I was being asked by Bob to reflect on the crucial issues of programming-
in-the-small. After all, the greatest mansion eventually reduces to its boards and
tiles, and the most ambitious creations in software are built brick upon procedural
brick. Small things matter.

In career, as in architecture and coding, there is a close tie between quality in
detail and quality of the whole. We can recall a host of cultural saws that
recognize and celebrate that relationship. He who is faithful in little is faithful
in much. A stitch in time saves nine. Mighty oaks from little acorns grow. An ounce
of prevention is worth a pound of cure. The architect Mies van der Rohe tells us
that God is in the details.

A paradox lurks here. A career is a grand notion that transcends decades and
thousands of individual acts. No one is under any illusion that we can define a
precise career destination and arrive there by taking exactly the right footsteps in
exactly the right order. Together, however, steps are guided by an underlying
compass needle, a broad goal.

Agile principles lie deeper still: the power of choice to change one’s compass
heading. We may do so to adapt to temporally short obstacles. More fundamentally, we
can choose to redefine the destination. To unthinkingly plod to a stubbornly fixed
destination can be a death-march. The mid-20th-century notion of “taking over
Daddy’s business” is one archetype of such paths. Agile careers recreate networks of
associations every day, because the world changes too much not to.

Pirsig, in Zen and the Art of Motorcycle Maintenance (William Morrow, 1974), offers
a metaphor linking the big picture with crucial details. “To strive only for some
future goal is shallow.  ... [I]t is on the sides of the mountain where things grow.
Yet, there are no sides without a top. The top defines the sides.”

If the path up the mountain twists and turns, and if we even switch to another
mountain now and then, what is the deep, underlying invariant? Pirsig suggests that
it might be caring. Caring plays out in the small things of life.  Any destination
is the accumulation of thousands of individual acts. So while the compass needle
points the way, our daily choices define the path. The destination can be foreseen,
but the path is defined only in retrospect.

You can make the grandest claims about being an engineer striving to make the world
a better place, but it is a hollow accomplishment if you climb on peoples’ backs to
get there. Accomplishment goes deeper than some goal: equally important to what you
do is who you are. As Pirsig reminds us:  the journey is on the sides of the
mountains.

Caring subsumes a host of ethical preconditions to any career. I opened my foreword
to Uncle Bob’s book with an anecdote about a Danish licorice box. Our Ga-Jol
licorice boxes all come with a witty saying printed on the inside of the lid. On the
morning of the day that I was to write the foreword I opened a box to the
admonition,  Ærlighed i små ting er ikke nogen lille ting. “Honesty in small things
is not a small thing.” Keep the big picture before you, but attend to excellence,
honesty, integrity, beauty, and joy in the small things of life. Big things will
follow.

[ Source :
http://www.computer.org/portal/web/buildyourcareer/Agile-Careers?utm_source=bronto&utm_medium=email&utm_term=Agile+Careers%3A+Small+Things&utm_content=colm.mulvey%40gmail.com&utm_campaign=CSMC-November+2011
]