Improve Your Communication Skills To Create Better Software

[article]
Summary:

Writing great software requires a lot of communication, and not just the client-to-server variety; person-to-person communication is crucial in a well-performing team. While it's easy to focus exclusively on improving our ability to communicate through the code we write, it's important to remember that building software is a communal experience: developers work with customers, testers, product owners, and other developers.


Here are some techniques and articles I use to reflect upon and improve my own communication skills:

Writing great software requires a lot of communication, and not just the client-to-server variety; person-to-person communication is crucial in a well-performing team. While it's easy to focus exclusively on improving our ability to communicate through the code we write, it's important to remember that building software is a communal experience: developers work with customers, testers, product owners, and other developers.

Here are some techniques and articles I use to reflect upon and improve my own communication skills:

Debugging Conversations . If you've had a conversation that took an unexpected turn for the worse, author and psychotherapist Virginia Satir devised a model that might help. J.B. Rainsberger describes this model and how to apply it to understand communications gone awry in his article " Don't Let Miscommunication Spiral Out of Control ."

Giving and Receiving Feedback . If someone on your team is doing something that bothers you, they might not even know they're doing it - or don't know that it bothers you. By giving honest and direct feedback, you can let your colleague know that they've done something that bothers you and ask for them to change their behavior. DeEtta Jones Young has written an article about giving feedback for managers, though I find the steps very applicable to one-on-one peer feedback. And giving feedback is not always as bad as we think it will be, as Naomi Karten points out in her article " LOUD and Clear ."

Saying 'No' Without Destroying The Relationship . At some point you'll disagree with someone, whether it's a teammate, manager, or customer. Yet so often those disagreements can lead a conversation to a dead end, leaving everyone frustrated. William Ury has written a book entitled " The Power of a Positive No " which provides a formula for saying 'No' that avoids dead ends and hurt feelings.

 

I've learned a lot about improving my communication skills by reading and practicing. One workshop that helped me was Esther Derby's and Diana Larsen's " The Secrets of Agile Teamwork ", which they offer periodically.

What are your favorite resources and techniques for better communication?

 

User Comments

3 comments
Anonymous's picture
Anonymous

<br><br>For those who are interested in the workshop mentioned in the post, Diana and I are offering a public Secrets of Agile Teamwork June 22-24.

February 17, 2010 - 3:54am
Anonymous's picture
Anonymous

Communication can't be over-emphasized, and these are all great resources to check out, thanks! <br><br>IME, the more direct the communication, the better. If the person you need to talk to is in the same building, get up and walk over to their desk (if you're worried you might interrupt them, IM them first to make sure). If the person is in another geographical location, pick up the phone or even better, do a video conference with Skype or similar. Email should be your last resort. <br><br>That said, I am as guilty as the next person of IM'ing or emailing the person who sits 3 feet away from me! I hate talking on the phone, in particular. But I push myself. Sometimes a 5 minute phone call can save a long, wasteful email thread.<br><br>We have one person on our team who lives in India (we're in Denver), and others on the team work from home at various times. We set up a 'telepresence' laptop on a rolling cart that any remote person can VNC to, call on Skype, get the audio and video going, control the webcam, and ask to be rolled around to wherever you need. I find it a big help when I work from home, it feels like being in the office. Our guy in India can be "present" in meetings or even pair with people. We also use a lot of high-res digital photos on the wiki - the current taskboard, whiteboards, or just fun stuff.

February 17, 2010 - 3:54am
Anonymous's picture
Anonymous

I did a short stint as a trainer for ThoughtWorks University. Among the recommended prep materials were two books: "Crucial Conversations" and "Crucial Confrontations" by Kerry Patterson, et.al. I can't recommend them enough for providing solid insights and patterns for having effective communications when things aren't going well. If you only have bandwidth for one book, go with the Confrontations

February 27, 2010 - 10:12pm

About the author

AgileConnection is one of the growing communities of the TechWell network.

Featuring fresh, insightful stories, TechWell.com is the place to go for what is happening in software development and delivery.  Join the conversation now!