Post Agile – Leading remote development teams
Honestly, there has already been so much written about remote working in the software industry over the last three years that it is hard to find anything to say that has not already been said.
But, at Compado, one of the things about our company and our company culture that we are the proudest of is that we are truly a remote-first company.
There are no hidden rules about coming to the office two days a week, no requirements to be in this time zone, or that time zone, this or that many months a year.
In Tech it’s not uncommon to find yourself in a meeting or working on a project with colleagues spread over four time zones. We have colleagues based in South America, Southeast Asia, India, Turkey, all over Europe, and occasionally, as far away as New Zealand. I myself am partial to spending my winters in a time zone six hours off of our headquarters in Berlin.
The basics…
It must be admitted for us in Tech that we did not have to make a complete 180 from an office to a remote set up from one day to the next as most people did back in 2020. A number of our developers were already working remotely around Europe pre-Covid 19. Consequently, we had already gathered some solid experience working with plenty of tools essential to working in a remote environment.
- Github
- Slack
- Google Workspace
- An IDE that enables pair programming
- Jira
- Confluence
Most importantly, we had some experience promoting inclusion in our teams for people that were at a geographic disadvantage. That experience was a prominent place for us to start when Covid-19 made working in an office environment impossible.
The Onboarding
For me one of the biggest takeaways from shifting to a strictly remote environment was the absolute need to prioritize the onboarding process into Compado and the development team or teams for our new hires. Onboarding is all about equipping new team members with the tools that they need to succeed in the long term.
- Time for both sides to adapt to the other communication style
- Connecting the new employee with an onboarding partner (or buddy) that has the relevant business domain knowledge, and depending on the employee’s experience with remote working – someone that has a deeper understanding of remote work
- Focus on long-term relationships and efficiency over immediate productivity
Remote vs Asynchronous Working
Remote working is a fairly straightforward proposition in itself. Remote working is all about location. Asynchronous working however, is a lot harder to define. Especially when we have been conditioned by Agile environments over the past twenty years to believe that alignment needs to come in the shape of regular face-to-face communication. Usually, this means daily stand-up meetings, weekly spring planning meetings, sprint reviews, etc… One of the twelve principles of the Agile manifesto is in fact
“The most efficient and effective method of conveying information to and within a development team is face-to-face conversation,”
Face-to-face communication does offer two important benefits that are extremely difficult to simulate in a virtual workspace. Face-to-face communication offers us
- The ability to empathize with others more easily
- The ability to understand a person’s intent based on non-verbal signals such as body language
In the old days, when Agile was analog, developers would stand around a whiteboard filled with paste-it notes, and teams would celebrate together as the last post-it note is posted into the “Done” column on a whiteboard. Today tools like Trello/JIRA have made this way of working completely obsolete. POs and developers can quickly access the “Status” of a project simply by opening a Trello/JIRA board. Another matter of fact is that – adhering to a strict Agile methodology by insisting on multiple weekly planning meetings can potentially eat up 20 percent of a company’s engineering budget.
Post-Agile
In a Post Agile world, development teams work asynchronously as possible and use Agile techniques and tools to keep the development process lean.
Agile in an asynchronous world requires passive alignment
Agile tools such as product roadmaps and launch boards are the best tools that we have right now to prioritize and arrange tasks as requirements shift. The shared nature of these tools lends itself perfectly to working in an asynchronous world. At Compado, we are partial to a Kanban-style process, and in my opinion, this fits the best for asynchronous teams.
Agile in an asynchronous world requires inclusive meetings
Meetings in a distributed or remote work environment can be extremely challenging with team members situated across geographic locations and time zones. What this has meant for us, is that meeting planning and participation are a team effort. In an asynchronous world, however, most Agile meetings are simply not practical to conduct over video conferencing. At Compado each development team has its own style and schedule for meetings that offer the most value and most inclusion for their team.
Agile in an asynchronous world requires constant team building
Much has been written about the importance of psychological safety in Agile teams. I do however believe that the importance is even greater when working in remote or with asynchronous teams. The obvious lack of physical connection can make it extremely difficult for us to get a handle on the personality traits of our team members. For us to keep our teams Agile, we need to work constantly on team building.
- Balanced communication styles between strictly business and overly chatty
- Creating digital spaces for team members to engage in small talk and build personal relationships in a digital environment
One of our favorites is that at Compado our Technology Department holds two low-key meetings a month where department members are encouraged to present projects that relate to their personal interests, or projects that they feel could contribute to the overall well-being of the Technology Department. Nothing is off-limits. If for whatever reason there are no willing presenters, we may just socialize for thirty minutes. In reality, we have ended up adopting several technologies into our stack that were introduced in one of our “Tech Talk” sessions. All of this is of course combined with the occasional in-person meeting.