Commercial software development relies on collaboration. And for effective collaboration to happen, you must have effective communication – between your team, and with your client.
It’s obvious when you think about it, yet many people spend more time honing technical abilities over their communication skills. And even when you’re aware of communication practices it’s easy to slip into bad habits.
Good communication might not always be easy, but the benefits it brings to a project and the eventual output means it’s worth pursuing. Here are several common causes of communication failure – and some suggestions for tackling them:
Framing the problem as ‘other people’
If things aren’t going well, it can be tempting to lay the blame elsewhere. “It’s the client’s fault!”, or “It’s not working like the book said it would!”
That might be the most instinctive way to look at a problem, but looking at problems like this robs you of the power to solve things. Instead, get curious and think how you might be contributing to the problem. When you think this way, you’ll naturally spot ways to collaborate and improve matters.
Focussing on method over outcome
When you’re passionate about methods of developing good software, it can be easy to focus more on “are we doing it according to the ‘right’ method [Scrum/Kanban/Agile/XP]” and lose focus on whether the method is delivering value. It’s useful to remember that the method is less interesting to many clients or managers than the results. They are interested in their problems, which you are there to solve. So don’t bore them to death with talk of Lean or Kanban – help them solve their problems (using these approaches).
Pushing the ‘one right approach’ (yours)
As I said at the outset, software development is about collaboration, and dogmatically sticking to your own view won’t help the team; it puts you head-to-head with people. What we’re aiming to do is face challenges side-by-side.
A useful way to do this is to get in the habit of reframing problems, from an individual perspective to a relational one. Instead of ‘there’s one right answer’, recognise we all see things the other person might miss. Explore any differences in opinion and view the responsibility for a problem (and solution) as being shared.
Easy to say, hard to do
These are just a few communication failures, but there are others – and lots more ways to solve them. Being a good communicator is an ongoing commitment, but the benefits are huge.
I spoke on this topic at last year’s Lean Kanban Central Europe conference, so for more detail (and some excruciating, hard-won experiences from my early days…) you can view the talk on Vimeo.
I’ll also be talking on this topic at Expert Talks Portugal, held in Lisbon on April 20. If you’re part of the Portuguese development community (or just in town), sign up on the Meetup page. It’d be great to see you there.