PM Interviews: Jim McCarthy

Back in 1999 I read a great book about software engineering: Dynamics of Software Development by Jim McCarthy. This book was one of the first to express the idea that software development is primarily a people-centric activity and that therefore the success of any software project is intrinsically bound to how well the team works together.

Jim has had a wide ranging and successful career in the software industry and I was delighted to have the chance to interview him and discover his current views on the management of software projects.

Q: Many people will already know you from your books Dynamics of Software Development and Software for Your Head or through your BootCamp training course. Can you give us a brief summary of your career to date?

I began my career as a software guy over 30 years ago. Over the years I have synthesized what I learned from software development and corporate experiences and applied it to solving the riddles of team dynamics. I have had responsibilities in development, testing, marketing, programme management, user education and general management. I led software development teams at Bell Labs, The Whitewater Group and Microsoft Corporation. Since 1996 I have devoted myself to researching groups and how they create products and organisations. We use a teamwork lab (McCarthy BootCamp, a product development simulation) and in situ research at corporations, large and small, worldwide.

I wrote Dynamics of Software Development in 1995 and Microsoft has recently released the 2006 edition of Dynamics which is cool because it includes both the Core (see below) and the original video on which the book was based. My wife, Michele, and I have created the Core Protocols (now available in version 3.0) which are a collection of interpersonal protocols that support results-oriented behaviour, the efficient aggregation of individual qualities into a greater whole and the development and realisation of shared visions. Together, we authored Software for Your Head and now host a podcast show on team and other business issues. I also give numerous speeches and seminars. I can be reached at jim@mccarthy.net or via our website www.mccarthyshow.com.

Q: What are you currently working on?

Once there was this guy interviewing me in Malaysia and he asked me “What software are you working on now?” I answered, honestly, “Yours.” In a way I guess that answer still holds but in this case for you and your readership. Specifically, however, I am working on the Core V4.0, doing speeches and BootCamps and coaching teams and individuals.

Q: Can you tell us a little more about The Core and BootCamp?

The Core Commitments and The Core Protocols are a collection of codified best practices that came out of our teamwork laboratory (called BootCamp). They have been compiled over an eleven year period and are now in Version 3.1. The current version can be downloaded here.

We didn’t create The Core.

Instead we watched it grow. We did create the set of initial conditions under which The Core protocols, or something very much like them, would almost certainly emerge. Over the years we have maintained healthy conditions for Core evolution.

A proper credit also has to include the thousands of BootCamp students from around the world who contributed to The Core’s development over the years.

[ Note: Jim had a lot more to say on this topic and his full answer is included in this post ]

Q: Through your work you must meet a wide range of people. What do you perceive as the greatest current challenge for software development managers and how do you help them overcome it?

The greatest current (and past and future) challenge for software development managers, and for all humans everywhere I suspect, is accurately perceiving reality and effectively accounting for it in their behavior. Some people call this integrity but that’s kind of an overloaded word. It is, however, an accurate term if you mean it as you mean it when you discuss the “integrity of a structure”. Much of the time, either our perceptions depart from reality or, if they don’t, our behaviour does not have the integrity of our perceptions. In either case we are misbehaving in the most fundamental sense.

Q: Dynamics of Software Development was first published over 10 years ago now. Since then what do you think has been the most important change in software project management?

That’s kind of a trick question from my point of view. The obvious answer would be to say Agile. Or XP. While I give Agile and XP practitioners and developers and authors all due respect I honestly don’t think that originality is the chief virtue in Agile or XP. There has been little that I’m aware of that goes beyond what was covered in Dynamics of Software Development and much of that book was a build on the work of many previous others. Agile especially has done a remarkable job of popularising basic ideas. This is no small trick. However, on a good day at least, I like to believe that we have been conducting much more original, fundamental and even transformational work than is currently popular.

Q: The original book contained 54 “rules” for software development. Which one do you feel still holds the greatest relevance today and why?

“Team = product”. All the virtues and vices of the team express in the product, and vice-versa.

Or possibly “Establish a shared vision”. The relevance of shared vision is greatly intensified now that we have discovered how to do it with any project and on any team.

Q: Can you tell us a little about the ideas behind your latest book Software for Your Head?

If you picture a kind of TCP/IP for humans. Or imagine a suite of interpersonal protocols that can be used to help any team get to a state of shared vision and achieve the highest possible level of collaborative intimacy then you will glimpse the vision behind Software For Your Head.

Q: What is your number one software project management tip, trick or technique?

Discussion should be illegal. Less talk, more code.

Q: What characteristics do you think it’s important to look for when bringing people on to a team?

Make sure the team itself is well and truly “booted” (i.e. aligned and in a state of shared vision) and let them handle the problem however they see fit. Generally, although the problem feels like too few people are on a project, it is usually the case that too little of the many people assigned to the project is actually engaged.

Q: How much domain and/or technical knowledge do you think someone managing a project has to have?

Not as much as all that. Generally, a person who understands the many ways people trick themselves out of success is much more valuable than a person who has particular domain or technical expertise. Obviously, having both types of knowledge is probably better than having one.

Q: What is your biggest bug bear/gripe/pet peeve?

When I am certain something is absolutely true it is almost certainly false. That bugs me. It’s a sort of Uncertainty Principle of its own kind. It is annoying that somehow my personal degree of certainty about the truth or falsity of something seems to inversely (and disproportionately) affect its actual truth or falsity.

Other PM Interviews:

Advertisements

No comments yet

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: