TMCnet Feature Free eNews Subscription
November 15, 2018

Agile Development for Remote Teams



There has been a vivid discussion on whether or not remote work has a future. Backed up by the reports from Google (News - Alert) and Apples as well as the Atlantic article describing the IBM’s experience, a lot of managers declare remote work dead.



On the other hand, there are companies (like Zapier) who have been founded and developed remotely - for these folks, things worked out just great. Perhaps, it’s not the idea that’s bad - the lack of knowledge on how to manage a remote team makes it so.

Distributed work isn’t going anywhere - neither are remote teams. Choosing an effective working framework is up to managers, however. Most of them land on Agile (News - Alert) Let’s take a look at the reasons.

What does Agile mean?

The Bible of Agile is the Agile manifesto. There, 12 commandments of the framework are stated.

  1. Customer satisfaction is the top priority.
  2. Change is constant - even in the late stages of development;
  3. Deliver products regularly;
  4. Business and development executives have to collaborate and help each other;
  5. Team members with solid records and trust deserve to be given higher autonomy;
  6. Face-to-face interactions are crucial to ensure the efficiency of product development;
  7. The progress is measured by the number of working products;
  8. Choose the development and keep it to promote the culture of sustainable development;
  9. Focus on nailing the technical part of the project and delivering a good design;
  10. Simplicity is the key;
  11. Invest your time in building a self-organizing team;
  12. Team members should take time to reflect on improving their efficiency.

That’s it - the essence of Agile. These ideas might be repeated by other frameworks - yet, Agile is unique in its own way.

Agile vs Scrum: Same things?

It’s important to understand that Agile and Scrum are the two facets of the same idea - a philosophy of building software through iterative development laid out in Agile Manifesto. They are very much alike since both frameworks feed on the same principles and statements.

However, there yet is a difference between Agile and Scrum. And, seeing that the devil is in the details, let’s take a look at these peculiarities.

When to use Scrum

  • You need to deliver software products continuously;
  • There’s a need for constant feedback from the client;
  • The project guidelines change over time;
  • There’s a lot of work you haven’t done before.

As you can tell, Scrum fits well for projects that have a lot of unknowns and change their shape as you work on them. However, in other cases, it might make more sense for your team to lean towards Agile.

When to use Agile:

  • You need to work fast;
  • There’s no fixed deadline you need to commit to;
  • A client and stakeholders are a huge part of the project;
  • Your team is autonomous and thinks independently;

Seeing that Agile is a philosophy where Scrum is a methodology with its own set of rules, the first one is a better fit for remote teams that require a flexible working process.

Addressing the challenges of distributed teams: here comes Agile

Distributed teams make sense economically since you might spend less on a remote developer salary and talent-wise as well. You gather international talent - this workforce develops a project without having to sit at the office. However, in all fairness, it’s clear that remote work has its own challenges. Most common ones are:

  • Communication through different time zones;
  • Evaluating the workload and reporting its efficiency.
  • Scheduling calls or team meetings.
  • Building dedication and corporate culture.

These roadblocks might sometimes be frustrating. However, team productivity increases when a manager knows how to use Agile properly. Here are a few tips on successful project management using ‘Agile development.

Best Agile practices for distributed teams

Self-sufficiency

Agile project management preaches the modular structure of development and design process - make sure you organize your team in the same way. Every department should be an independent unit that’s fully capable of developing a product end-to-end.

It minimizes the number of calls and team meetings needed to shape the product. It’s also recommended to hire talent from the same zone to work on the project to make the communication within the team as easy as possible.

Review your technology

Code reviews are an important practice in remote Agile development. We’ve established that every office should be 100%-autonomous, yet they also have to know about all the product. It proves useful - when a specialist from a department can’t work on the project, someone from a different team can step in and finish his work.

For that reason, be sure to conduct code reviews every once in a while so that everyone on the Agile team is up to date on all the products you’re working on. Of course, it wouldn’t hurt to have a spreadsheet with everyone’s working hours so that you know how to calculate the probability of force majors.

Get to know all new hires - make sure everyone else does, too

When you come to the office, it’s crucial to get to know everyone - by the names, at least. When you hire remote workers, it’s often the case that employees know nothing about each other except for the profile pictures in the chat room.

Indeed, bonding is difficult when everyone is in a different country. However, a tip from Atlassian (News - Alert) might come in handy - each of their new hires writes an introductory blog post as a self-presentation, both professional and personal. After all, that’s by knowing that Judy likes cats and Sam forgets to water flowers that you will tell everyone in your team apart.

Don’t ignore face-to-face meetings

For a distributed agile development team, interpersonal communication is the key. That’s a way to share your business goals, discuss priorities and projects that are currently in progress. So, even if meeting everyone is difficult because of different time zones, don’t neglect weekly calls. These meetings have to be planned and to the point, yet, don’t mind occasional small talk and interest share.

By the way, there are companies that get on a conference call even to binge a series together. Whether or not you would want that much time together is up to you, yet, creativity is always encouraged.

Unify (News - Alert) your Agile software development life cycle

How can your team tell that an assignment is done? What is the way to report bugs? What is the definition of good work or the one that needs to be improved? All of the answers create a development culture.

Here are a few documents that will help optimize most of the common workflow problems:

  • “Getting started” guideline - a short list of all the software tools (an Agile CRM, for example) you use, a workflow diagram, and the outline of basic communication rules will help you when you hire remote developers and help them get through the first day at work.
  • A unified bug report for the entire team.
  • Evaluation criteria - a document that will define your process of decision making between a done assignment and the one in progress.
  • Troubleshooting how-tos in case a problem popped up when you or the team lead isn’t online.

Conclusions

  • If you’re looking for a way to organize agile workflow in a distributed team, Agile is a way to build the processes. Its 12 main statements outline everything you need to build an efficient development team.
  • Scrum and Agile are alike as they are built upon the same philosophy and ideas. However, they are not the two sides of the same coin since Scrum is a way to implement Agile yet Agile is not necessarily implemented by the methodology of Scrum. It’s important to understand this difference between the two.
  • There are a lot of ways to make remote teams a part of the Agile culture - reviewing code to make sure everyone on the team is familiar with the technology, building personal connection via team presentations and video chats. Creating comprehensive and unified guidelines for workflow analysis is also helpful for creating a development culture.



Author bio: Anastasia Stefanuk is a passionate writer and a marketing manager at Mobilunity. The company provides professional staffing services, so she is always aware of technology news and wants to share her experience to help tech startups and companies to be up-to-date.


» More TMCnet Feature Articles
Get stories like this delivered straight to your inbox. [Free eNews Subscription]
SHARE THIS ARTICLE

LATEST TMCNET ARTICLES

» More TMCnet Feature Articles