CTO Insights #1 with Christian Longberg— “Processes stop people from being creative”
|
|
Modern information and communication technologies have changed the traditional working environment, and now a business has the ability to hire people from different parts of the world without relocating them. People no longer have to be physically on site to work on the same project.
The term “distributed team” is widely used and denotes a group of geographically dispersed people that either relate to the same organization or unite several organizations and work to achieve a common goal. We will consider software as the goal.
As a rule, a software development team includes the following roles:
Sure, this list isn’t obligatory because different approaches to team forming can be taken, e.g. as follows:
However a team is formed, the critical factor is communication between teams and team members. Daily meetings, conference calls, instant messaging and e-mails are all tools that should be used to set up effective collaboration. When making a choice, the most suitable media for a particular situation should be used. It can be Skype, Hangout, Gmail or any other tool. No one can point out the only technology which leads to less misunderstanding, but keep in mind that video works better than audio, synchronous communication (in real time, like a phone call or instant messaging) works better than asynchronous (with delays between sending and receiving messages, like e-mails).
When establishing communication, there is a challenge most distributed teams are faced with – time zones. For instance, a part of a distributed team can be located in the USA, and another part in Ukraine. The difference between time zones may be 6 to 10 hours. In this case, a joint meeting can occur in the evening for one team and in the morning for another. One team reports about the work done during the day, another team about plans for the day.
It is important to track a team or a team member from being without work if some tasks depend on other tasks to be completed by others. Project management tools (e.g. JIRA) help you meet this challenge as they let you assign tasks. monitor their performance and find the status of a particular person or task in real time.
Agile/Scrum methodology helps organize the effective management of a distributed team in the best way. However, these principles shouldn’t always be followed to the letter, you should use what’s most helpful for the particular team. For example, participating in planning sprints can ensure that sprint goals are understood and, accordingly, separate tasks are better performed.
One more motivating factor for a team is the opportunity to offer suggestions and to be heard. Then, developers mainly offer new useful features or ways of fulfilling some functions, while QA engineers often make recommendations for optimizing the system, making it organic and user-friendly. If the suggestions are not just heard, but also accepted or rejected reasonably, developers and engineers feel like a team that brings ideas to life, not just a bunch of coders. Such insight increases personal concern for the final product and makes people willing to take responsibility for offered solutions.
If problems arise, like a critical bug is found and fixing it will take time and affects system functionality, there is a risk that the deadline will not be met. In this case, only close communication between teams will lead to the best decision as to how to correct the defect, what to change, whether to throw out some tasks or to postpone the release date.
The effective work of a distributed team for software development can be the result of many factors, such as:
The manager of every location (Delivery Manager or Team Lead) sets effective team collaboration considering the personal characteristics of each team member and requirements for the whole team.
One of the brightest indicators of a good manager is the work that gets done in his/her absence. If a manager holds everything in his/her hands, team members don’t show initiative and take no responsibility, then even a single day of absence can halt the team’s work. On the contrary, if all processes are established properly, the manager can leave for a few days or even weeks and the project won’t be negatively affected. All the work will be done, as usual, on time and with a high level of quality.