5 Tips to Improve Communication on Your Development Team

“Good software can be made by a single person, but great software is made by teams.”

I don’t recall if I heard that quote verbatim or if it’s one that I pieced together from my memory and experiences, but regardless of its origins I wholeheartedly believe in the validity of it.

I’ve been in the software industry for roughly 5 years, worked at 2 large scale corporations, been a member on various development teams, and participated in multiple projects ranging from identity management to financial services. I’ve seen my fair share of projects fail and succeed. There are many factors which can cause a project to be unsuccessful: unrealistic timelines, lacking skillsets, constantly changing requirements, and the list goes on… However, from my experience, even if you have a superstar team, precise product requirements, and afforded a realistic timeline to deliver the product, without proper internal and external team communication you’ll have a difficult time getting your product out of the door and into production. These experiences are what led me to write this article to share what I believe are 5 tips to increase the effectiveness of communication on your software team.

#1 Increase Your Vocabulary

As obvious as this sounds, it is crucial and it is the building block for effective communication. A painter needs quality materials to produce magnificent artwork, a chef needs fresh ingredients to create exquisite meals, and an effective communicator needs a broad vocabulary to express their thoughts.

Speech and writing are mediums (no pun intended) we use to transfer the thoughts and feelings that we have to other persons. We know the complexity of thoughts and emotions that we have a on a daily basis, but others will never know unless we’re able to express it to them. That’s why it’s imperative that we have a diverse selection of words available to us which will allow us to ensure that the complexity and intricacies of our thoughts do not get lost in the aether.

Don’t get me wrong, I’m not saying we have to be a modern day Shakespeare, I myself am nowhere close to where I want to be, but I’m working on improving this skill. The methodology that has been working for me so far is to actively read more. It sounds intuitive, right? Obviously, if you read more you’ll learn more words duh!

“…actively read more…”

Think about it for a bit, we are bombarded by information on a daily basis in these modern times, but how much of it do we truly commit to memory? Can you recall most of the information you see on a daily basis?

I realized that I wasn’t recalling as much as I expected. Similarly, when I was reading articles and I’d come across unfamiliar words I would skip over them or guess the meaning based on the context without taking the time to look up the definition. I was doing myself an injustice. I’m suggesting that you, the next time you read something (this article included) try to actively read it. Any new words you come across, make an effort to commit it to memory. Whether you write it down, use it in your own sentence, or try to impress your co-workers during standup, it will help commit it to your memory bank.

I’ll share one I came across recently, vacillate. “I spent my lunch break vacillating between getting Jamaican or Indian food, naturally, I ended up not eating anything at all”.

#2 Normalize The Nomenclature

“Costello: Look, you gotta pitcher on this team?

Abbott: Now wouldn’t this be a fine team without a pitcher.

Costello: The pitcher’s name.

Abbott: Tomorrow.

Costello: You don’t wanna tell me today?”

— Who’s on First? by Abbott & Costello

If you’ve seen the comedy routine Who’s on First? you’d be familiar with the quote above, and if you have never seen it before, I’d recommend you take a few minutes to watch it. It’s ok, I’ll wait…

As over the top as that sketch is, the core tenet is something that I’ve seen numerous times throughout my professional career. Miscommunication due to a misaligned context. Frequently I’ve had teammates talk about a concept, business functionality, or domain only to find out days later that they were never on the same page from the beginning. There are a number of things that can cause this communication mismatch, but a repeating culprit I’ve seen is the inconsistent naming of concepts and processes.

A beautiful thing about natural language is that it allows us to express the same idea in various ways. The drawback is that this linguistic flexibility does not bode well in the technical world. Most software at this point in time needs specific instructions to operate in a predictable manner, and the instructions are being provided by humans. This requires the humans to be unmalleable when naming and defining concepts at times.

“…linguistic flexibility does not bode well in the technical world…”

If you’re on a team and you are assembling a bicycle, imagine if half of your teammates refer to the wheels as “doohickies” while the other half of the team calls them “doodads”. Picture that standup meeting bright and early on a Monday morning.

John: We’re almost done with this story, all that’s left is for us to finish up attaching doohickey 1 to the frame.

Sue: Attach doohickey 1? What do you mean? We said that we attached doodad 1 last Friday.

Bob: Wait… So no one attached doodad 2 last week?!

The conversation sounds as comical as the Who’s on First routine, but I’m confident the premise sounds eerily familiar to some of you.

Now imagine if they all used the word “wheel” consistently as they worked on the project, then this mishap would have been less likely to occur. For starters, John would have heard the word “wheel” in the update on Friday, which would have prompted him to not spend his Friday working on wheel 1. Which in turn could have stirred up a conversation about wheel 2. End result, John wouldn’t have wasted his bandwidth on duplicated work, and the bicycle would be closer to completion.

This is why it is imperative for the team to use ubiquitous language when discussing concepts and processes relating to the project.

As a team member, what I try to do is subtly steer my teammates into using the same terms and expressions to represent the concepts we’re talking about.

John: We’re almost done with this story, all that’s left is for us to finish up attaching doohickey 1 to the frame.

Me: Doohickey 1? Did you mean Wheel 1?

John: Yup, that’s what I meant. Wheel 1

Me: Do you mind calling it Wheel 1 for me please? I’m trying to make a mental map of what’s left to do.

John: Sure, no problem.

From my experiences, ensuring your teammates all speak the same jargon not only increases your confidence in the domain, but it can boosts your team’s confidence as well, especially for members who may be more on the introverted side. Additionally, ubiquitous language steers the team away from potential mistakes and helps with the alignment of the team’s goal. As seen in the above conversation, I finessed my teammate into consistent lingo with a simple Jedi mind trick, asking a clarifying question.

#3 Ask Clarifying Questions

“When you assume you make an ass out of you and me.” — Oscar Wilde

I’m confident that many of you have heard this aphorism before, but how often do we observe it? In my younger professional years I was hesitant to ask questions during meetings or to my seniors because I was fearful they would view me as incompetent. I would make assumptions about things that I thought were obvious, and I have paid the price of wasting hours either producing the code which did not meet requirements, or searching for solutions to problems that were already solved. I learned the hard way from critical feedback, and experiences that if you’re not sure about something, don’t be afraid to ask. Chances are you’re not the only person who has the same question as you.

There are benefits of asking these type of questions in that it helps to align your team’s goals. Doubts about how a process should work, what a domain should be named, how a design should look, and etc. can evaporate from simple clarifications.

Another effect of asking clarifying questions is that more meaningful discussions can stem from a root inquiry. Many times these discussions shed light on missing or ambiguous requirements which could have caused the project to derail down a wrong path.

Let’s take a look at the following scenarios.

Mary: We discovered on Friday we need to increase the size of the wheels, so I’ll be working on that.

Me: (Focused on working on the bicycle frame and showing little interest) Ok, Sounds good.

The following day…

Me: I finished the frame yesterday, but the wheel doesn’t fit. What happened?

Mary: (slightly frustrated) I said yesterday that I was increasing the size of the wheels…

Me: Yeah, I heard that, but I didn’t think it would affect the frame. Now I have to spend today redesigning the frame.

Ok, now let’s revisit this scenario but this time I will ask Mary about her update.

Mary: We discovered on Friday we need to increase the size of the wheels, so I’ll be working on that.

Me: Hey, I thought we agreed on the size of the wheels according to the specification. Why do you need to increase the size?

Mary: We realized that the original spokes were too large, that’s why we have to increase the radius of the wheels.

Me: Ok, good catch. I’ll have to make some adjustments to the frame design then. Once, you finalize the measurements, send me a message.

Mary: Sure, no problem.

In the latter scenario, by asking a simple question, I saved myself from wasting a day’s worth of work.

“…meaningful discussions can stem from root inquires…”

It may sound superficial at first, but reflect on some projects you worked on in your career where you wish you knew beforehand a sliver of information that would have saved you hours of work. Now compound that sliver, and you can see how those additional hours add up, and how much time could have been saved, and how many headaches could have been avoided.

Additionally, a subtle side effect which occurs from asking questions is that it shows you’re invested and interested in what your teammates are saying. When people know that they are actively being listened to, they will naturally be more particular with their word choices.

This can lead to more concise discussions and updates, which is a great benefit for the team. More concise and accurate communication results in less opportunities for ambiguity. Less ambiguity leads to less misunderstood requirements. Less misunderstood requirements, leads to more quality products.

Asking clarifying questions is a great way to mitigate potential miscommunication woes, but it’s part of a two-pronged approach I use when I’m working with my team. If asking questions are the layers of my communication cake, then I’d describe repetition as icing on the top, and come on, who doesn’t like icing?

#4 Repeat What You Heard

“Repetitio mater studiorum est” — “Repetition is the mother of study/learning”

Repetition is an effective tool when it comes to learning. You see it in many forms of life, a basketball star practicing shooting free throws, a musician practicing chords on their instrument, and students memorizing notes from their lectures.

Now you might be wondering how is communication and learning related in this context? Well I view effective communication as a tool to learn more about the persons you’re communicating with. I mentioned earlier in this article that speech and writing are mediums used to express and transfer thoughts. By internalizing another person’s thoughts and repeating them (not necessarily verbatim) facilitates your brain with understanding their viewpoint. It’s particularly more effective if you can reiterate what they said using your own words.

“…internalizing another person’s thoughts and repeating them (not necessarily verbatim) facilitates your brain with understanding their viewpoints…”

I find it analogous to adding an extra coat of paint to a wall. The wall might have looked ok with that one coat, but there’s something about that double coat makes it more resilient to stripping, and allows it stand up against the test of time. You want that shared knowledge in your team to stand up to the test of time as well.

Additionally, the personalized reiteration shows that you’ve acknowledged what your teammate said. The subtle act of acknowledgment can go a far way in boosting the camaraderie within your team. Teammates who feel respected and valued will speak up more, be more interested, ask more clarifying questions, correct each other’s nomenclature, all of which contribute to the success of a project.

However, we should be cognizant of how we repeat another person’s idea in order to avoid stealing it. Sadly, depending on the culture, if a woman gives an idea and a man repeats it the man gets the credit for it.

Clara: I think we should have paint the bicycle red in order to attract more customers

Bill: Yes. We really should paint the bicycle red!

Tom: Good idea Bill!

To avoid idea hijacking or Timon-ing (the meerkat from The Lion King) the idea, when you repeat what your teammate said try phrasing your statement similar to the following:

Bill: I’m going to repeat what Clara said in my own words to ensure I have a firm understanding of the game plan. Clara, please correct me where I’m wrong…

While it’s more verbose, it makes it clear to everyone that you are attempting to interpret the work of someone else and can go a long way in ensuring trust between team members.

So far we’ve covered the four tips which help foster communication, but this last tip is the one I’d consider crucial to tie them all together, and that is to remember to HAVE FUN!

#5 Have Fun!

“All work and no play makes Jack a dull boy.” — Stanley Kubrick

I’m not sure why people believe that work and play have to be mutually exclusive. When was it decided that you can’t enjoy yourself while producing quality work, or who mandated that you have to be serious in order to accomplish respectable goals. Within the context of working with my team on daily basis, I’ve found injecting humor and some joviality helps foster positive relationships and communication.

Don’t get me wrong, there is a time and place for everything. There will be occasions where a professional decorum will be required, and the level of liberties you can take with your team will vary from organization to organization. However, if your company’s culture allows for a more lax approach to work, you should take advantage of it. People respond better to positive energy, they’re more motivated, they’ll feel more comfortable, and they’ll speak up.

You want an environment where each teammate feels valued, and secure enough to speak their mind. Teams with these high levels of engagement and trust, produce better quality products. When you employ the tactics I’ve mentioned in this article, try adding some of your genuine charm, humor to them, and see how it’s received. I’m willing to bet you a coffee that they’ll be received warmly, given you have team that’ll appreciate you for who you are. If they don’t, well, do you really want to be a member of such a team?

“…injecting humor and some joviality helps foster positive relationships and communication…”

Summary

In this article I presented five ways that I’ve used to improve the communication on the teams I’ve been on during my career. Asking questions, reiterating what I’ve heard, using consistent terminologies, finding the precise and accurate words to convey my thoughts all while having fun. I hope you’ve found these tips useful, and I’m interested to find out if they’ve help with your day-to-day work lives. Feel free to leave a comment. Thanks!

Credits

I’d like to thank Dewayne Walker for his feedback and examples.

--

--

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Ashcir

Ashcir

Software engineer by trade; engineering & life blogger; landscape photographer; and teacher by passion. Born and raised Jamaican living in an American world.