In 2020, the sudden shift to remote work created concern among software engineering and apps leaders that development velocity would suffer.
Agile development teams are inherently self-organizing and adaptive to change, but application technical professionals must maintain a strong team culture of close collaboration, feedback loops and dynamic interaction to stay effective.
Peter Hyde, Senior Director Analyst, Gartner, sat down with Gartner clients to outline six best practices to keep remote software development teams effective and successful.
This article recaps the key points, edited for brevity and clarity.
Shift to remote work: How are development teams adapting?
The sudden shift to remote working was unexpected, but it was surprisingly well implemented in most cases. After months of remote working, let's look at the progress being made by remote development teams.
A recently published report on 50 remote agile development teams showed mixed results:
- 92% of teams are writing more code by an average 10%, which sounds good.
- Unfortunately, 63% of teams are releasing less frequently, with the total number of releases down by a worrying 21%.
- On top of this, the average release size is up by 64%, increasing risk and time to value.
So before the COVID-19 pandemic, we had frequent, small releases and were very agile. Now we have infrequent, high-risk, large releases. This is not the ideal situation for agile, newly remote teams.
Download eBook: 3 Goals for Software Engineering Leaders to Sustain Digital Momentum
This shift is made worse by a serious increase of 45% in cycle time, a 7% rise in defects and product issues, and decreased quality as evidenced by a 6% increase in code churn.
These negative conditions have been created by the abrupt transition to remote work teams without the required preparation, training and infrastructure.
Remote agile software teams must address these challenges:
- How do we fix this troubling trend?
- How do we support fully remote agile teams?
- How do we use our existing agility to embrace the new situation and thrive?
Creating a productive remote work environment
To develop an effective and efficient remote work team, here are six best practices represented by the acronym REMOTE:
- Review the situation.
- Engage as a team.
- Maintain momentum.
- Foster openness.
- Leverage technology.
- Evolve team practices.
REMOTE Step 1: Review the situation
First, review your remote team situation. Because we have lost the benefits of colocation, where constant interaction, easy pairing and water cooler conversations aid teamwork, we need to address collaboration in other ways. Several effective approaches you can use to set the tone for your team in a suddenly remote environment are:
- Arrange a 60-minute video conference with your team to outline how you communicate and collaborate when working remotely, evolve your team culture to solve remote challenges and adapt the way you work.
- Hold a 30-minute video conference with your product owner to align the team on the product, vision and strategy.
These video conferences help empower a team by agreeing to new ways of working and reinforcing purpose.
REMOTE Step 2: Engage as a remote work team
Remote working is a skill that requires time and effort to develop. Video conferencing is a great way to engage with your team. How many times have you been in a video conference with your camera off, your microphone muted, checking your email, working on a separate document or possibly making a cup of tea?
There are simple rules for video conferencing etiquette, including:
- Be present. If you do not feel the meeting has value for you, decline the invite. If you do attend, be attentive and leave your camera on.
- Be human. Don’t be concerned that your children, significant other or pets will invade your picture. Welcome this, as it shows that you’re human and face the same challenges as everyone else. Stay on mute if you're worried about interruptions.
- Be part of the team. If it’s a team call, don’t mute it. Team members want to hear feedback. Keep team lunches or after-work drinks on the schedule to maintain team culture — and leave your camera and microphone on, eat on the call and invite your family around to say hello.
Enhance your remote work culture
Culture is frequently viewed as a barrier to effective collaboration, and this becomes more challenging when working remotely. Culture-first companies are founded with a vision for their future desired culture, so here are a few ways to improve your remote work culture:
- Reassess your organization’s culture through the five dimensions of the Gartner culture prism.
- Purpose: Why we do the things we do.
- Rules: What is expected or permissible.
- Identity: Who we think we are in relation to others.
- Safety: How we help each other succeed.
- Measures: What we value and pay attention to.
- Facilitate a short team workshop to evaluate your company’s values and align the work to those values.
- Act in a manner you would like to see. Culture is what you say and what you do.
- Agree on values and a team charter to guide conduct and provide behavioral nudges.
- Demonstrate personal cultural leadership by committing to following these guiding values every day.
REMOTE Step 3: Maintain the momentum of your remote team
As development teams, we must continue to deliver value while working remotely, and this may require some process tinkering. Take a scrum team as an example. The following graphic illustrates some adjustments you can make to be inclusive, build trust and ensure that everyone is heard.
From customer-centric to customer-obsessed
We sometimes forget that the reason we do the work is to solve a problem for our end users. Working remotely adds another barrier between product teams and the people they support.
To address this, we must refocus on helping the people who use our products to solve their problems. Customer-centric is a great style, but customer-obsessed is how we can succeed. Get closer to your customers, understand the work they wish to accomplish and help them to achieve it.
Use journey mapping to understand how your system is used in the real world and how to prioritize your development work to maximize the value produced. We must continue this customer focus on our product strategy with accurate market research and rapid use of validation.
REMOTE Step 4: Foster openness and transparency in your remote teams
We must build trust in our remote teams based on mutual understanding and respect. Encourage openness with weekly remote lunch events and virtual coffee breaks. Discuss everyday life, build empathy, form connections, and be clear on your intentions and reasoning.
Fostering openness and creating transparency builds trust, which enables team members to take risks, admit mistakes, rely on each other and improve together.
- Be understanding and empathetic when working with your team, but don’t value politeness over progress.
- Challenge behaviors that conflict with your remote working agreement and highlight potential issues early to prevent resentment building up over time.
- Communicate openly. There is no such thing as overcommunication when remote working. Use reply-all on team emails and raise questions in your collaboration tool so everyone can contribute.
While remote, we must also continue to validate our work with real customers. Fast feedback is essential to enable agile teams to make rapid decisions and focus on the right features.
With the challenges of in-person user testing, we must rely on technology solutions to give the same results. Video calls with Zoom and Webex, surveys with Typeform and SurveyMonkey, and usability testing with UserTesting.com and UsabilityHub are all ways to receive quick feedback.
Everyone on the remote team should be involved with user testing to create a shared understanding and a better product experience.
REMOTE Step 5: Leverage technology for effective remote teams
Effective remote teamwork requires close collaboration over multiple open channels with individuals skillfully moving between supporting remote technology tools.
Developing good communication and collaboration habits is a great start, but remote teams must create a shared virtual team space to succeed. Match collaboration tools to desired behaviors to create a common toolset, form a sense of community and maintain trust through team connection.
Understanding your remote work technology
Understand the options available with your current toolset. Identify tools that can support the way your team works while prioritizing face-to-face interactions. Technology is rarely the answer, but it does provide the right platform to enable conversations.
Shift to cloud-hosted development
Shifting to cloud-hosted development environments increases the team’s agility and resilience through flexible, shared and always-available environments.
Fully cloud-hosted development environments offer code, build, test and debug capabilities. Teams that have already moved to a cloud-hosted development environment are realizing the value in moving to remote working.
Avoid rushing into the tool space and buying the first tool that appears to fit your needs. Work with your architecture and tooling groups to trial and adopt cloud-based development environments that enable collaborative development.
Work with your infrastructure team to understand which services can be moved to the public, hybrid or private cloud. Evaluate how this change will alter the ways of working for your team.
REMOTE Step 6: Evolve your remote team practices
Finally, you must evolve your remote team practices.
The agile process is built on the three pillars of the empirical process: transparency, inspection and adaption. We must use these to continually evolve our working practices to improve the outcomes we produce for our customers.
Disruptive change is stressful. Keep the communication lines open with your remote teams, schedule one-on-ones, check in on people — but most of all, be kind to yourself and others.
Your process modernization must be matched by a change to the way you organize your work. Your customers are unlikely to care about your process or product — they are more concerned about resolving their challenges and getting their jobs done. Your product is more likely to succeed if it aligns with their values and provides the best way to achieve their goals.
These six best practices of the remote team framework can help you reassess how to help remote employees remain effective. This framework has proven successful in supporting remote product development teams and improving how they operate.
What’s next for remote work and work models?
Don't expect a return to your prepandemic organization. COVID-19 has been this century's single most significant driver of digital transformation.
When anticipating postpandemic change, consider the needs of people, process, technology and product. Most people are working remotely out of necessity, but this will soon change to be a more complex hybrid model of working from home and traveling to the office for closer collaboration.
We must review this dynamic situation regularly to ensure we are making the most of the available opportunities. Always start with your people, speak with them regularly to build a connection and support them with whatever is needed.
- Review your processes. Look for friction with remote working and collaborate to resolve those issues.
- Reassess your technology needs. Understand what else is required to make working remotely successful, and evaluate your remote technology to ensure you are spending your time and money on the right work.
- For your team members and colleagues, be the change that you want to see. Collaborate positively, be supportive and create an empowering team.
Your remote team process is not set in stone, so change it until it works. Then change it again until it’s better, and keep doing that.
Allow technology to empower you. Automate the boring work, improve the richness of your interactions and make work fun.
Keep in mind that our working models must change, so be ruthless in cutting work that does not add value and focus on producing the best possible service for your customers.