The Main Rule
So the basic principle we use at Artezio is: it doesn’t matter if an employee works remotely or in the office, we treat them as if they all work from home.
In other words, we don’t divide our team into those who work from home or in the office. It is necessary to provide equal opportunities to all team members and give everyone the same working tools.
The work itself is based on the following aspects.
Planning allows us to have a clear idea of the deadline for getting results. In fact, it is important to always make plans, but when organizing the work in a distributed team, it is required for everyone to understand when and which result to expect.
To plan everything correctly, we need to know:
- What the result will be? To answer this question, we use a document describing the product vision that serves as our main reference. It can be not so detailed, but it develops a good understanding of which characteristics and unique features the result will have.
- A project roadmap. We need to describe in what sequence we would like to get the result and give more details for each plan item, if necessary.
- Who is involved? Based on our experience and knowledge, we have compiled a sequence of actions that will be performed by employees. Now it is important to distribute roles based on the project.
Thus, we have a plan. It can be presented in a MPP file or text document, or any other way, but the essential condition is to have work consequence, assigned resources, and due dates.
Then, based on this plan, we create tasks in our internal system. At Artezio, we use Jira which allows us to monitor and control tasks.
Assignment of Tasks
After planning, we reflect tasks in the system for collaborative team work. In our case, it is Jira.
- The task is assigned to a performer in Jira (or any other tool for collaborative work).
- The performer starts fulfilling the task, logs time in Jira required to solve the task.
- When we created tasks based on our plan, we specified dependencies between issues in Jira. We can also create new tasks, for example, if we see that we need to change something or correct a defect found during testing.
Each issue has its own lifecycle. Usually we use the following statuses:
- New/open issue – for new issues that aren’t assigned to anyone.
- In progress – an issue assigned to a specific team member, the issue is being worked on, the progress and time are logged for this issue.
- Resolved/under review – the issue has been completed by the assignee and is being reviewed.
- Reopened – as a result of the review, the issue is reopened.
- Closed/done – an issue can be closed as it has been reviewed.
To understand how the task performance progresses and to what extent our expectations for preliminary results comply with end results after the tasks are completed, we use the following control ways:
- Control of the source code through pull-request and code review – as soon as the developer completes the task, the team lead or architect reviews the code.
- Testing – it is a permanent step that has long been a standard, also related to control.
- Regular demonstration of iteration results – they are done for product owners and customers and are required to align the team’s and other stakeholders’ expectations.
Communication with the distributed team is a highly important and even key factor. We don’t work in the same office, everyone is based in different places, and there isn’t an opportunity to discuss anything quickly and express an idea to everyone at once. For this reason, it is necessary to plan communication in advance and think over what technical means should be used that will allow having reliable communication.
Thus, below are the ways of communication that can be used to manage a distributed team:
- Status meetings (standup meetings) – we hold online conferences with team members at least once every two days. Everyone describes which task they are working on, what the progress is, what difficulties they have encountered, and what is planned to do.
- Brainstorms for solving tasks. In this case it is important to give time to prepare, which will increase efficiency. And of course a golden rule for brainstorms – any idea is recorded however absurd it may first seem and is discussed later.
- For small discussions, or rather specifying or informing, it is possible to use the team’s general chat.
- Iteration planning is an element of communication; you need to think over in advance what will be included in the iteration.
- Demonstration of iteration results – as we’ve mentioned, it refers to control as well as a part of communication as we receive feedback from all stakeholders.
Specifics of Conference Calls:
- They should be planned in advance, however, in emergency cases it is possible to make a conference call right away, but employees may not be ready.
- They should be regular, so that all participants feel the rhythm of work and are prepared for calls. It is necessary to have an opportunity for screen sharing and recording.
- As for video streaming, it is not that important, make voice calls and don’t forget to turn on/off the microphone.
- For communication to be effective, calls should be recorded.
What Tools Should Be Used?
Skype and Telegram – group chats for fast communication to discuss work and other questions.
Web platforms that can be used for offline events (for engaging stakeholders, sharing presentations). Such platforms are also suitable for employees’ online training. Speakers make presentations using slides and connect via video conferencing.
Additionally, a good idea is to hold daily joint video conferences in the morning and in the evening for about 10-15 minutes. Morning meetings will allow remote employees to tune in to work while evening ones will symbolize the end of a working day.
When managed correctly, a mixed model can be quite effective. For example, it will attract required employees, irrespective of their location. It will save the company money for finding employees in locations with intense staff competition.
Besides, an opportunity to work comfortably from home can be a way of attracting qualified employees for a company and, therefore, make the company more competitive on the market