The challenges of remote agile workplaces.
Covid-19 has made remote working not only a topic of everyday conversation but a necessary part of team management for most organisations. For those teams practicing agile, this can seem to be against the grain, as the foundation of the method is based on physically being together.
Transitioning from a locally-operating agile team to a remote working agile team is challenging but absolutely possible. The team at Mitrais has operated as a remote agile partner for the past 10 years, and we are going to share our learnings over that time and break down how you can get it right and apply it to your own team to get them running quickly and effectively as soon as possible.
BEHIND AGILE
Agile development has long been touted as requiring face-to-face discussions and collaboration, the need to quickly jump into meetings or stand ups, the ability to brainstorm and work out problems, all in person. The idea is that agile requires open communication and more creative ways of working and sharing ideas than can be expressed in a purely digital setting.
We just don’t buy it.
So long as your team have a strong internet connection, the right strategies in place and a desire to communicate effectively, remote agile can work for any organisation. It’s all about the tools, structures and behaviours that you put in place and encourage and getting those three things to mesh well with your remote working team.
Here’s how to best manage your remote agile development team.
1. Structure Your Team Right
In an agile team, structure is everything. You’ve got your core development team, your product owner and of course, the scrum master. All of these roles are still relevant in a remote agile team; however, the role of the scrum master becomes even more crucial and amplified without the direct supervision seen in a locally operating team.
Aim to have your team located in complimentary time zones, so that there’s overlapping “golden hours” where everyone is working together and they can maximise their collaboration.
This helps ensure everyone feels part of the team and that they are able to collaborate in real time, even if that’s only for a portion of the day. Scrum masters, team leaders and product owners need to commit to regular contact with their team to share and learn the practices they are finding effective across all teams to work through a process of continual improvement in the way that the team operates.
Your scrum masters and team leaders should be chosen because they are innovative and excited about the opportunities that remote agile working brings. With the potential for a greater talent pool and ability to work with team members who might be located thousands of kilometres away from each other, make sure that those leading your team understand the core principles needed for a remote agile team and are excited to embody them in their digital, daily work practice.
2. Get Collaborating – Digitally
First things first, remote agile teams should set up face-to-screen (meaning, everyone with their video on) Daily Scrums with the team. These video conferences ensure that team connection is maintained and encourage greater collaboration because of a more personal connection with their team mates. Zoom, Skype and Microsoft Teams are all great tools to roll out across your team as they offer fantastic video conferencing options.
In addition to digital communication tools and project management tools, teams should look at working with digital whiteboarding tools, like Miro or Storm Board, for sprint planning, commitment meetings and even team member surveys.
Encourage your team to document everything as part of their normal working process, as this ensures that projects aren’t held up and no developer is completely reliant on another.
Your scrum master really is the person who ensures that your team are motivated and ensure that they live up to the agile values and principles. They should be innovative and engaged and always looking for bigger and better ways to engage their team through these digital collaboration tools to ensure they are getting the absolute best out of their team.
3. Project Management Rules
Keeping everyone in your team on the same page is important, and an absolute priority in an agile environment. This is a real challenge for any remote team, let alone an agile one, but the key is in using great tools to allow everyone in the team – from product owners to developers – to update every minute piece of progress made.
At Mitrais, we use a blend of different project management tools, including Trello, JIRA and Microsoft Azure DevOps to manage our projects. Trello is a really fantastic tool to use across your organisation, including across teams outside of development, while JIRA and DevOps are more specialised for development processes.
When planning projects, it’s important that scrum masters and team leaders commit to realistic sprint cadence and should review the expectations, complexity and scale of any sprint accordingly. Remote agile teams should prioritise small spikes to check the ideal working conditions and raise questions regularly for more clarity on the user story.
Make sure you continue to do your Sprint Retrospective to ensure that you review the work done and use that to inform your future projects. Each sprint needs to be tied off properly to both give your team a sense of satisfaction and to ensure that each sprint is identified, completed and reviewed as per agile best practice.
User stories should be broken into smaller chunks and complex stories that require contribution from multiple team members should be broken down into progress points.
4. Keep Your Versions Under Control
It’s absolutely crucial for the team to manage the source code over time in software development. This is no less true in a remote agile team than it is in a centrally located environment. At the end of the project, the software must be maintainable and manageable, and so controlling the source code and maintaining version control is key to the longevity of your product.
In the current Covid-19 Environment, customers may not want the same deployment frequency, particularly if that can risk the reliability or performance of the application.
It’s important that product managers understand the customer needs in light of the current environment and apply that to versions and project management.
Some software companies will not be able to just go on as before, they will need to adjust their development plan for the next 6-18 months to manage their business out of the current crisis.
Reduce partial results or incomplete sprints that never seem to end. It increases the risk of double handling the workload, whether that’s in development or through part version control, and can easily be avoided by ensuring that you call time on a particular version. Ensure that your iterative loops are small enough to be digestible, but meaty enough that releasing a version is worthwhile.
Utilise a version control tool, like GitHub, BitBucket or Microisoft Azure DevOps to track individual contributions and prevent any conflict in the development process. Ensure that your project managers check in with these tools regularly and actively call out those members of your team doing good work.
5. Get Your Chat On
Chat is everything in a remote team, from asking what went on over the weekend to creating channels for particular sprints or user stories. Depending on what video conferencing collaboration tool you’re using, it may or may not have a chat arm – Microsoft Teams has various channels for communication, from private chat to channels, keeping all your information in one location. Slack can also act in this way if working with another video conferencing tool.
However, you choose to foster chat in your team, encourage all users to contribute via chat and do their communicating there.
Embody best practice yourself if you’re the team leader, product owner or scrum manager by creating both formal and informal lines of communication in your team through these tools.
One of the great benefits of agile is the ability to have what we call “osmotic communication” where there is a free-flow of ideas across the team. This can be done through chat channels, but it is a behaviour that must be carefully fostered so that your teams first thought is to throw something up on chat and see where that leads.
Creating some structure and routine around the way that your team are communicating is key. All agile ceremonies should continue to be conducted through video and chat channels – all agile practices need to be followed to ensure that the transition from locally practicing remoting agile is streamlined. Team members should also arrange regular one-on-one reviews with their managers and should be encouraged to engage in less formal conversation with their team on private channels.
Conclusion
The hardest part of overcoming the transition from centrally located to remote agile working is in developing new habits and opening lines of communication. Once those hurdles have been cleared, remote agile can add a lot of value to an organisation. With the current global situation, we are forced into remote working in lots of instances – so now is the time to focus on getting it right, and seeing the value that it can add to your team.
See this as an opportunity, rather than a restriction, and you’re half way to making sure that your remote agile team is efficient, effective and making great software.
If you’re looking for support in managing your development, we want to help you. Our team of software engineering and business professionals leverages the vast expertise that we have accumulated in various industries to help our customers solve the most complex challenges on your track to the creating the next innovative web app or business software. Get in touch today to see how we can help your business.