AGILE PROJECTS IN TIMES OF CORONAVIRUS

by | Mar 26, 2020 | Project Management

In recent times with the coronavirus global crisis, the most common topic in social networks like Linkedin is remote work. Many technology companies mention how socially responsible they are showing their efforts and transition to remote work.

The fact is that in 2020 remote work and distributed teams are not a new or disruptive topic at all. This is something that every technology company has to already be prepared for.

The ability of a company to work efficiently and effectively with in-house and remote collaborators is a very important strength that every leader needs to be convinced and put in practice. 

The companies that implement remote work naturally, are the ones that faced the coronavirus crisis without any major obstacle, allowing business continuity.

More importantly, is the fact that these companies put in practice every day the following values:

  • Trust
  • Discipline
  • Commitment

In this article, we are going to share how we implemented SCRUM in our agile projects with a distributed team. We share the best available free and paid tools today, to reach the same (or better) results than if you were working with an in-house team.

SCRUM in distributed teams

Teamwork is essential to obtain world-class results in the development of software solutions. Collaboration, communication and the opportunity to share ideas within a team will result in an efficient and effective solution, a reliable product with greater acceptance by users. To achieve this, it is imperative that each team member feels committed to its co-workers, the project and the client.

Currently, there are ways of working that create environments for teams to take over a project and carry it out successfully. We, in particular, have adopted the SCRUM framework which allows us to achieve our goals and that of our clients. The SCRUM framework is based on the Agile Manifesto, which promotes iterative and incremental development. It places value on individuals and their interactions, on obtaining a functional product, on collaboration with the client, and quick response to change.

scrum planning meeting

But what happens when we have distributed teams?

In the software development world, we do not need to be physically at an office to carry out our job, we can work from anywhere, with just a computer and internet connection. When we have a team with people who are in different locations we talk about a distributed team.

Although SCRUM promotes face-to-face interactions, in reality, we have a variety of ways of working and distributed teams are increasingly latent in software development.  Now, this type of work generates great challenges, both personal and as a group. Within personal challenges, we can find interaction with other team members, discipline and commitment to the rest of the team, and having enough confidence in our colleagues. And as a group, challenges may include having a minimum routine to organize meetings or conversation instances, clear responsibilities within the team, establish work processes and documenting them.

How do we do it?

For teams working at the same site, there are many opportunities to interact, through SCRUM events or informal conversations. We choose to get the most out of technology and implement working modalities adapted to our reality.

For SCRUM events, and to generate instances in which we can communicate and meet face to face, we use video calls. There are many tools for this, but the one that has given us the best result is Google Meet. A meeting is scheduled (daily, Planning, retro or review) and at the start time, everyone accesses through the link. We can see each other, or someone can share its desktop feed if needed, thus we have visibility of what we are discussing.

 

daily remote meeting

For communication we use Slack. We create a channel for everyone involved and all issues are discussed there so that the entire team is kept informed of everything being done. Technical issues between two people are also exposed on that channel, so if anyone else has something to contribute they can do it and instances of dialogue are generated.

In terms of planning, we use Jira Software. This tool let’s manage the user stories and give us general visibility of the product backlog and allows an easy sprint progress follow up. The other benefit of using Jira is that the team can know about how many stories there are in the project, who is working on each task and how much work we need to do to accomplish the sprint goal, all of these, helps teams to be self-organized. Finally, in terms of managing, we can use Jira reports tools to get metrics about how the team is working, time remaining, velocity and other useful metrics.

Talking about code managing, like two members of the Atlassian family, Bitbucket and Jira work fine together, although you can work on Github too. Repository and branch managing, are very useful for the working team because each developer can generate his branch and then make a merge to the main branch as well as creating pull requests, in case of many different levels of seniority co-exist on the team.

Although we have Confluence like the official documentation tool to work with Jira, we work with Google Drive to manage project documentation.  Jira allows to add links in the left panel of a project. So we can add links to the project’s material on each project board and with this tool, we can maintain it accessible to the team members even using Google Drive.

software logos of tools to work remotely

To finish, how we have explained before, the working team, commitment and,  constancy, are all necessary to make successful projects. We believe that the distributed team (and mostly in the situation that we are living today) is an optimal way to work, we have all of these technology tools that help us to make development software a successful story.

Tools for doing SCRUM in distributed teams