Developing software is an art that primarily involves people and tools to build products that address real-life needs or make them easier to deal with. An important aspect of this matter, sure is the skillset of the engineers involved in the development process, however, technical matters are just one part of the equation, and human-like or non-technical aspects tend to have more importance than the aforementioned[1].

The so often called soft-skills are those non-technical capabilities that influence the quality of our work, and our ability to cooperate with our peers to achieve the goals at hand. When it comes to cooperating, communication is an aspect that should be considered key, for the work at hand to succeed.

In the context of communication, one simple yet powerful action one can take is to keep others in the loop of things, whether those are your teammates or your stakeholders. In this post, we will be looking at why sharing frequent and clear updates matters in the context of software development.

Clear and Frequent Updates

An update, simply put, is the action of sharing one’s progress regarding the work at hand, whether that is through a call, a message, or even an email. Updates serve to keep all the interested parts informed of the progress made, whether that refers to a new feature that’s being implemented, a bug that was fixed, or any other relevant information related to the project.

From our experience, a great update is timely, succinct, and digestible by the team. Let’s break down the previous statement, first, a great update arrives at a reasonable frequency to keep the team posted without causing noise. Second, it holds enough information to provide a clear view of the progress made without boilerplate, unnecessary jargon, or details. Third, digestible in the sense of how the words are employed as part of one’s speech, bearing in mind that not everyone on the team is well-versed in the technical aspect.

To effectively communicate, we must realize that we are all different in the way we perceive the world and use this understanding as a guide to our communication[2].

Tony Robbins

One additional detail we believe should be taken into account while formulating an update is the use of ubiquitous language[3]. This is with the aim in mind to enhance our communication and reduce misunderstandings when sharing our progress with the team.

To a degree, it’s as though you invented your own language to express your own views of the world. However, unlike the private languages invented by some small children, UL enhances communication between all team members involved with a software development project. It requires all team members to participate. The goals are clarity and specificity.

[4].

Now that we have gone over what clear and frequent updates are, let’s look at the reasons why we consider those relevant in the context of software development.

Developing Software as a Team Effort

In most cases, building software combines the talent of people across various disciplines, people who have their perspectives of the world. On one end you may have talent with a clear vision of the business opportunities and the business itself. In that same fashion, you may also have people with the skills to make such a vision a reality. The effective collaboration of the parts involved is what enables the success of the product at hand.

One of the key components of a team is communication[5], which is the vehicle that enables understanding and cooperation. Now, cooperation requires everyone on the team to stay in sync in regards to the goals at hand and the matters that need to be addressed, and a way to achieve that is through the emission of clear and frequent updates.

Sharing clear and frequent updates helps teams foster connection, which is another important element in building stronger teams[6]. It also opens the door for further discussions on matters that are in the way of the progress of a team to succeed.

With this, we’re not saying we should be spending every minute of our day sharing updates or connecting with the team. As with many things in life, we should do our best to find balance, in this case, between fulfilling our work and making it visible.

In teamwork, silence isn’t golden, it’s deadly. [7]

Mark Sanborn

Now, there is one scenario in particular, where sharing clear and frequent updates plays an important part: While dealing with production issues.

Shedding Light in dark times: Dealing with issues in Production

As you may know, when an application reaches the production environment, many things can go wrong. You may have or will have the chance to experience a time when a problem appears on your system that must be addressed as quickly as possible. These sorts of problems might cause frustration to your customers as well as your team who try to address the situation with haste.

No matter how dire the situation in production might be, there’s nothing worse than experiencing a problem and having no information or support on whether that situation is being addressed or not. The frustration or anxiety that this may cause could potentially lead customers to churn. Now, in the context of the team, efforts are made to alleviate or fix the problem at hand, but if the support team who’s in touch with customers, isn’t kept in the loop of things, they won’t have the tools to provide meaningful updates to their customers to bear with the situation.

In that sense, sharing frequent and clear updates can help, at the very least, to show that there’s an effort being made on the situation and an intent to overcome the present hurdle. It’s important to mention that solving the issue at hand is the number one priority, but keeping others posted helps them bear with the problem, with the promise that soon enough, it will be resolved.

Now, let us look at updates from yet another perspective, as a window to show others the value that is being delivered.

A Window to Show The Value Being Delivered

Considering this from your customer’s point of view, how are they able to tell when there are new features available in your product? How can you expect excitement from them regarding your product if they’re not aware of the novelties in it? Well, with frequent and clear updates sent their way, you can keep them in the loop of things.

One of the most impactful ways to keep your clients engaged and informed is through regular updates about your products and services[8]. Nowadays, it’s a lot simpler than it used to be. With tools like Releaso, you can simply link your repository and whenever you create new releases it generates an update based on your release’s commit history in a website you can share with your customers.

Not only in that scenario we can see how updates act as a window or a vehicle to show what’s being delivered, but also in the context of a team. As we progress through work, we may come across blockers or crossroads that require external validation to continue moving forward. Without having frequent and clear updates we wouldn’t be able to address those accordingly, or even worse, we could end up making assumptions about things that later lead us to misunderstandings and features working unexpectedly. If instead, we sync up regularly, we can be aware of these hurdles and take action accordingly to make sure our progress as a team is smooth and leads us where we want to be.

Closing Remarks

Keeping everyone in the loop is a habit that can be easily overlooked in the landscape of technology and the challenges it brings along. It’s also an act that can fall into monotony. Understanding its importance can lead us to value this act and coordinate your team efforts in a better way, hence allowing them to face the challenges together of developing successful products. In practice, we have seen how this small detail can truly make the difference when working in a team and we hope that you can find value in it as well.

To wrap things up, here’s a quote that you can take as food for thought. Stay tuned for more, and see you on the next one!

Communication is the solvent of all problems and is the foundation for personal development.

Peter Shepherd

References

  1. Emphasizing Human Capabilities in Software Development
  2. Tony Robbins' Advice on How to Dramatically Improve Your Communication Skills
  3. Ubiquitous Language
  4. The Importance of Ubiquitous Language
  5. The Importance of Team Culture
  6. Building Stronger Teams: The Power Of Effective Communication and Connection
  7. Silence isn’t Golden in Teamwork – Speak Up for Effective Communication
  8. Keeping Customers Informed: The Key to Building Customer Loyalty