{"id":4443,"date":"2015-03-11T09:00:45","date_gmt":"2015-03-11T12:00:45","guid":{"rendered":"http:\/\/blog.plataformatec.com.br\/?p=4443"},"modified":"2015-03-10T14:56:36","modified_gmt":"2015-03-10T17:56:36","slug":"continuous-communication","status":"publish","type":"post","link":"https:\/\/blog.plataformatec.com.br\/2015\/03\/continuous-communication\/","title":{"rendered":"Continuous communication"},"content":{"rendered":"

After continuous integration<\/a>, which evolved to discrete integration<\/a>, and continuous delivery<\/a>, why not try continuous communication to avoid misleading messages inside your team?<\/p>\n

Why communication matters?<\/h2>\n

It’s known that communication issues results in many software development problems<\/a>.<\/p>\n

Some agile frameworks, such as Scrum, have well defined communication activities like daily meetings and sprint plannings.<\/p>\n

Communication is an important subject, not only for software development, but also in many other areas. There are some social frameworks, such as colletive impact<\/a> and collaboration for impact<\/a>, that use continuous communication<\/a> to help people achieve their goals.<\/p>\n

Here at Plataformatec, we take this quite seriously as well. We’re always evolving our communication practices, to achieve our goals and to keep our culture strong.<\/p>\n

Continuous communication at Plataformatec<\/h2>\n

We talk a lot to each other. We use Campfire for team chatting, Basecamp for persistent messages and hangouts or skype for face-to-face calls.<\/p>\n

Besides the day-to-day communication, we use some agile practices such as daily meetings and retrospectives. Some of these meetings\/tools are used inside projects, others inter-projects and finally, we have company-wide meetings. Let’s see how these practices evolved to fit our current Modus Operandi.<\/p>\n

Inside projects<\/h3>\n

Dailies<\/h4>\n

In order to keep everyone inside the project on the same page we use daily meetings. An important detail here is the client presence. The client’s daily presence helps to avoid re-working tasks, since they know what is happening on a day-to-day basis.<\/p>\n

Weekly project meetings<\/h4>\n

Once a week, every project team also has a meeting with the Account Manager. Our Account Manager is the person who helps the team solve problems at a higher level, typically overseeing multiple projects at a time, so they are not directly involved in the project’s day-to-day tasks.<\/p>\n

We have an open communication channel with them, but it’s important to make a follow-up with all the team together. This is to ensure that the team exchanges more information and keep the Account Manager better informed about the project. Then he can provide the team with better advice on how to solve day-to-day challenges.<\/p>\n

Inter-projects<\/h3>\n

<\/a>Dashboard meetings<\/h4>\n

Every Friday our company daily<\/a> meeting gets a new attribution. In addition to company announcements, we also share the projects status, what happened in the current week, new technical challenges, applied techniques, releases delivered, and so on.<\/p>\n

Everyone in projects assigns a grade to the project, which can be a value between -1 and 2. A -1 grade means “We are performing really bad” and 2 means “We are performing really well”. Together with the grade we write a brief explanation justifying it.<\/p>\n

We start the dashboard meeting analyzing the current and past grades so we can check how the project is evolving. This is important because everyone can have a basic knowledge of how the other projects are moving on and new things that our colleagues are using. Having a big picture of each project paves a way for advice and knowledge sharing.<\/p>\n

Company-wide<\/h3>\n

<\/a>Company Dailies<\/h4>\n

Back when the Plataformatec team was smaller, we used to do dailies to exchange projects information and other company announcements, such as new employees or new clients. But as the team got bigger, we had more and more projects teams, and exchanging all that information became complex.<\/p>\n

Our dailies couldn’t involve sharing project information anymore, so we changed its purpose, and today we use it to share information at a company level. Information about projects is now shared in the dashboard meetings, weekly<\/a>.<\/p>\n

Weekly reports<\/h4>\n

We also have a weekly summary email, where we point our project highlights, new leads, new employees, next events. It’s a very good tool for those who lost some meeting during the week.<\/p>\n

Monthly retrospectives<\/h4>\n

Back when our team was smaller, we used to have biannual retrospectives, where we listed our good points, things to be maintained, and points we needed to improve. We also used the retrospectives meetings to do team appreciation, where everyone has the opportunity to congratulate or appreciate someone else’s work in the team.<\/p>\n

We used to have one day for this meeting, but as new members joined the team, it was not enough anymore. So we changed to have a monthly retrospective, focused on the good points and the points to improve. Every month we select one or more subjects to be discussed, and quarterly we re-prioritize and list new subjects, if necessary. The appreciation now is done in the Biannual reviews<\/a>.<\/p>\n

<\/a>Biannual reviews<\/h4>\n

With the retrospectives occurring monthly, now we have more time in our biannual reviews. We keep doing the team appreciation, and we also:<\/p>\n