“It’s a dog eat dog world”, my dad used to say. Is it really? I’m not so sure. Sometimes, perhaps, but certainly not always. Or so I’d like to think. “We’re all in the business of people”, was another of my dad’s favorites. “It’s all about PEOPLE.” On this point, I believe he was right.
I was reminded of this recently on a backpacking trip in Colorado with my oldest friend, Henry. Henry and I have known each other since high school but, he living in New York for the last 30 years and me in California, we’ve seen each other infrequently at best over that expanse of time. On this particular trip, we both realized that a few days of talking face to face around the campfire or plotting the next day’s adventure on the trail means a great deal more than year’s worth of email, texts, tweets and facebook updates. So, what does this have to do with work?
I’ve worked in the technology business, leading teams building and delivering software products and computing-enabled services, for over 25 years now. In all this time, I’m still amazed how many people think if we can just get the technology right everything else will take care of itself. As if the software or the hardware or the network protocol will deduce our desires, organize itself, and solve all our problems. If it’s not the technology itself, then it must be the methodology or processes employed to produce it.
All this, of course, is nonsense. In virtually every software related book I’ve read, seminar I’ve attended, study I’ve heard referenced, or project I’ve participated in — and there have been a great many — the number one problem encountered, the greatest impediment to success or cause of failure has ALWAYS been said to be communication. Communication between people.
It’s no surprise that the first key tenet of the Agile Manifesto is the valuing of “Individuals and interactions over processes and tools”. Yet, knowing this and acting on it to good effect are two different things. Why? There are many reasons.
First, it only takes a few disbelievers — those don’t or won’t make the effort — to frustrate and undermine those who do make the effort. There are simply some who just don’t want to play; they rather focus on the toolset exclusively. Second, there are often conflicting views over who should be “in the loop” and when. In an effort to be fast and lean, we cut people out of the conversation because we don’t appreciate their value or, perhaps, our own limitations. Third, everyone is busy and too often “communicating” is not appreciated as work. Writing code is productive work. Talking about what the customer really wants is not. Lastly, it’s just plain hard to do consistently well. People get tired, they have bad hair days, they get distracted by the crisis-du-jour, or they just don’t like each other. Maybe you’ve got a team member who isn’t pulling their weight. Then there are cultural differences, language barriers, time zones, you name it. Ultimately, these are just excuses.
So, how do we overcome these communication gaps and barriers? For starters, we need leaders who recognize both the critical importance of effective communication and the fact that PEOPLE are the key to making communication work… or fail. Then, those leaders need to do three things:
- Personally make sure everyone on their team has, or obtains, that same understanding and are committed to doing their part diligently.
- Create an ecosystem where it is easy for people to communicate effectively and hard for them not to. This might be everything from a common vocabulary (whitewater river guides use a system of handsignals and commands that never vary, and they teach everyone in their boat what those things are before they start), shared workspaces, frequent group reviews, a system of incentives and rewards, opportunities for socializing and fun (the campfire or trail?), and yes, even tools. But whatever it is, the ecosystem must actually work for the people in it.
- Pay attention and watch diligently. Talk to your people. Things may start well, but once pressure is applied, people tend to wall themselves off to be “more productive”. Once the walls go up, communication stops and, well, there you have it: the number one problem that gets projects into trouble, or kills them outright.
What’s even more amazing to me than technology professionals undervaluing the human element of a complex software project is the non-technical business leader who fails to develop and care for the people in their charge. More on that in another post.