Trainer Support Materials

Ship better software by improving developer communication

How can L&D be applied to a software team to improve the quality of software shipping?

2nd April 2024

Ship better software by improving developer communication
I have a foot in both camps here - software engineer and an interest in L&D. How so? Well I'm a software engineer of 10+ years experience working in a remote setting and I'm CTO of Experiential Learning Tools, a platform that helps L&D functions deliver training to remote teams.

I think we can all agree that for software teams shipping is paramount. However the art of communication often takes a back seat which is crazy because poor communication slows us down - it directly stops us shipping.

How does poor communication stop us shipping?
There's many ways poor communication slows a team down, here's a few I think most people can relate to:

  • The Pull Request maze: How many times have you stared at a pull request that reads like an enigma? Half the job of reviewing is trying to figure out the intent of the PR. Vague PRs with poor descriptions are not just annoying; they're time sinks and can be a breeding ground for overlooked errors.
  • Commit message cryptics: Then there's the world of commit messages. We've all seen a git log with series of commits along the lines of "Fixed stuff", "Actually fixed", "Fixed", "Please work", "grr". Frustrating, right? Commit messages are the breadcrumbs of project history. When they're cryptic, they're about as useful as a chocolate teapot.
  • Standup stumbles: Standups should be quick and informative. But when team members struggle to articulate their updates, it's like trying to complete a jigsaw puzzle without the picture on the box.

These bug bears can be ironed out. Let's take a two pronged approach:

  • Process: applying tools and ways of working to improve communication
  • Training: how can we implement low impact training sessions that will help our team communicate better

Defining a process
What works for one team won't necessarily work for another but here's a menu of 'things' you can try and see what works

  • PR Templates: These make PRs more predictable. They're like the checklist you use before a holiday - ensuring you pack everything important. A good PR template makes sure all vital information is included, making life easier for everyone especially the reviewer. The knock-on is faster reviews and less bugs and technical debt.
  • Conventional Commits: It's about making commit messages meaningful and trackable. Think of it as writing a clear label on each parcel in a shipment, so you know exactly what's inside at a glance. You can use precommit hooks to enforce the commit messages
  • Actions: Use Github actions (or GitLab CI/CD) to run linters, checks like bundler adit or npm audit and of course run your tests. Setting some actions to enforce style and convention means team members know what to face in a PR. Red cross and green ticks are big aides to the reviewer.

It's all well and good to have rules and process, but they only work if you enforce them. If a PR doesn't cut the mustard, send it back. It's tough love, but it ensures everyone plays by the same communication rules.

Learning and Development for Distributed Teams
Communication skills aren't static; they evolve. Regular training and development are key, especially in an industry that never stands still.

The challenge of nurturing communication in distributed teams is a whole different kettle of fish. This is where we need to get creative.

Experiential Learning Tools:

  • Colourblind: This tool is a brilliant way to walk a mile in another's shoes. It helps team members experience and understand communication barriers firsthand.
  • Broken Squares: Here's a gem for honing non-verbal communication skills, and ensuring the team succeeds (as well the individual). In a remote setting, where body language cues are scarce, understanding what others need becomes even more crucial.
  • Emergency Delivery: This is about learning to keep cool and communicate clearly under pressure. It's like a fire drill for communication skills - preparing your team for those high-stress moments, and building trust in your team members.

Communication is as crucial as any coding skill in our toolkit. The strategies and tools I've shared aren't just theoretical fluff; they're battle-tested methods that make real differences. As we forge ahead in our tech journeys, let's not just focus on writing code; let's also master the art of communicating our way to success.
CS

Chris Sloey @chris_sloey

CTO of Experiential Learning Tools

Why not check out some of our other articles?

Unlock your learning potential with our free eBook

Subscribing to our newsletter not only keeps you updated with our latest activities, tools, and learning strategies, but also gives you a free copy of our eBook - "How to Use Experiential Learning Methods Online: A Comprehensive Guide".

The eBook is packed with insights and strategies to enhance your learning skills.

Subscribe & Get Free eBook
eBook Cover Image

Ready to get started? Sign up for instant access or book a free demo at a time that suits you.