When we talk about the way that we build software these days, much is made of the agile manifesto, and that now famous Utah ski trip attended by those now regarded as the founders of the agile movement.
It would of course be overly simplistic to imagine all of the agile variants starting with a “big bang”, starting with the formation of a manifesto. After all, the manifesto doesn’t mention processes or workflows, it just outlines the principles of its signatories. These principles had evolved in each person over time, out of dissatisfaction with traditional software development management techniques.
One man that I believe to be a little bit forgotten as a forefather to the ideas so many of us hold dear today, is Jim McCarthy.
A very early computer hobbyist and self-taught programmer, Jim worked his way through to become a development leader Microsoft, being responsible for the shipment of such products as Visual C++
One of the most inspiring presentations I’ve seen is Jim’s 23 rules of thumb. The first time I saw this video, was one of those moments where it felt like Jim was talking directly to ME. His “rules” basically describe the leadership techniques and attitudes that he believes are vital in the delivery of quality software, on time.
It’s very nostalgic watching it now. To hear Jim talk about how he is going to get his “CD” the market, on a video that looks like it could have been dubbed from VHS. Nonetheless, I re-watch the rules of thumb every now and then, to remind myself of what I want to be, and why I am in this caper.
For example (and I’m going to paraphrase here), Jim talks about such things as maintaining a known state of quality, in a finished build, completed well before shipment. He hints at transparency and a two-way trust between developers and management. He urges leaders to not leave anybody behind on the journey to delivery, raising up everybody involved and finding a way to help them contribute. Teamwork, dedication, and honesty ring through as key themes.
Today, Jim has a pod cast and web site about software development, and all that he has learned along the way about getting it right. Since leaving Microsoft, he’s experimented greatly with software development teams, in a self-created lab, experimenting with delivery techniques. He’s written his own “manifesto” of sorts, called the “Core Prorocols”, outlined in his book (co—written with Michele McCarthy), “Software for your head”.
Be warned though, Jim’s writing is not the fainthearted. His beliefs have been years in the making, and the traits and behaviours he believes are required by the very best software teams are pretty rare finds. The core protocols are pretty heavy (especially if you’re Australian!). It’s he kind of stuff that a bit of meditation and yoga might help, and your teams need to buy in BIG time.
Jim is an idealist, and although very well acknowledged and respected, but in my view at least, a bit of an unsung hero in terms of Agile thinking.