The popularity of Agile methodologies has exploded over the last two decades, expanding from its initial stronghold in software development environments to an increasing variety of projects and enterprises. In the 2019 Annual State of Agile Report, the two top reasons companies gave for adopting Agile delivery processes were project visibility and the ability to manage changing priorities. This follows a trend of companies wanting to deliver value based on customer priorities, by adopting methods providing them with better visibility throughout the delivery process.
One of the most important factors in increasing visibility is communication.
As Ken Schwaber, author of The Enterprise and Scrum put it:
“The best communication is face to face, with communications occurring through facial expression, body language, intonation and words. When a white board is thrown in and the teams work out design as a group, the communication bandwidth absolutely sizzles”.
This works well for co-located teams. In a good working environment every team member has the ability to talk to everyone else, keeping everyone on the same page and allowing for efficient project delivery using Agile methods. Co-location, however, is increasingly becoming uncommon in the deployment of modern project teams.
Today’s companies need to maintain a global presence, accessing global talent and leveraging outsourcing models to deliver value and quality in a fast-paced, competitive environment. Blended teams is a sensible response to these pressures, drawing on talent and resources from around the world to find niche skills and form collaborations that would be otherwise impossible.
The challenges of a blended team can be significant and the stumbling blocks are not always obvious, often resulting in high levels of inefficiency and miscommunication compared to traditional co-located teams.
The following five recommendations focus on the most common challenges, and provides suggestions and advice based on our experience using Agile processes in blended teams.
1. Invest in collaboration technology, invest in the team
The collaboration tool space is flooded with options, and it’s important to choose carefully and use them effectively. Some of the tools that have been useful to us include:
Cisco Telepresence – Realistic conference room experience that works well for very large organisations with multiple locations. Quite Expensive to setup but, good value overall.
Cisco WebEX – Works well with large organisations, helpful for support teams and huddle rooms.
Skype and Skype for Business – Mid level organisations works well with office 365 collaboration.
Google Hangout – Works well for companies using Google products for collaboration.
Slack and Hipchat – These tools are becoming popular amongst the open source developers and work well with blended teams, featuring teamchannels where users can post messages even if no one is online at the point in time.
Collaboration tools for software development and Configuration Management:
Atlassian Tools are popular for both small and large companies using Agile methodologies, featuring end to end tools like Jira, Confluence, BitBucket, Bamboo and FishEye.
Other useful tools in Agile project management space include Rally and VersionOne, and configuration management tools such as GitLab, GitHub and Azure DevOps. Collaboration tools like SharePoint, Google Docs Trello and Realtime Board are also popular.
Code Quality Tools:
SonarQube – Works well for most of programming languages and is very popular. Analysis for few languages like Java and Java script are available for free, but charges are included for other languages. They also have addons for prominent IDE, which helps in reducing the code errors.
Visual Studio Code Analysis – Part of MS Visual Studio and helps for all Microsoft Coding languages like C#.
CodeScene – A service for behavioural code analysis and the tool mainly used for security analyses.
Veracode – Veracode application analysis tools cover web and mobile apps, as well as microservices in most major programming languages and frameworks. In addition, development teams can automate analysis in the pipeline with Veracode’s integrations.
Larger projects with blended teams benefit significantly from well-planned face-to-face interactions that deliberately bring together key team members. It helps to make the travel multi-directional, having all team members share the stress (and fun) of travelling between locations. Sharing the travel allows the team members to understand each other and their environments better, and facilitates better team-building and cross-cultural competence. It’s also important to ensure that suitable staff members are responsible for making the visiting team members feel at home. Don’t drop them in the deep end without ensuring that they have the ability to explore the work, culture and environment at a pace that is comfortable for the individuals involved. Key aspects of a supportive and collaborative working environment include:
- Regular technical and non-technical training and knowledge sharing;
- Social engagement supported by company events and team-building exercises;
- Effective technical and people leadership by senior staff in all locations.
2. Experiment with processes and tools
We can still take advantage of Agile process artifacts (white boards, sticky notes and so on) in a blended team by moving them from their physical environment to an online tool. Many of the tools mentioned above support blended teams, providing status boards, burn-down charts and team-wide checklists that help keep visibility open throughout the project lifecycle.
For software development in particular, code reviews present their own difficulties when teams are working across multiple time zones. Sharing knowledge within each location by promoting scheduled cross-team and cross-location code reviews can make general support and maintenance much easier. If an issue emerges when one team is not online the distributed knowledge can allow another office to step in to support or resolve the issue, rather than waiting for compartmentalised knowledge to become available.
Hosting regular Show and Tell sessions is also a good way to promote sharing across locations.
There are a variety of Agile methodologies that can be adapted to benefit blended teams. Scrum and Safe remain two of the most common, and DevOps practices such as continuous integration and continuous delivery paired with test automation are known for delivering excellent value when used in blended teams.
3. Establish purpose, cultivate commitment to quality and delivery
Establishing a sense of purpose and vision should be led by the product management team, utilising whatever tools are appropriate to communicate the vision with the team. The sense of purpose can be kept fresh by providing regular updates on market conditions, competitor activity and the impact new features have had on customers and users. It is also beneficial for each member of the delivery leadership team to highlight how their team’s efforts are being utilised to deliver value to customers and users.
Team members aren’t always on the same page when it comes to the importance of quality and delivery. Leaders should take the time to educate their team about the desired level of quality and the delivery requirements of each project. Leadership should constantly be on the lookout for ways to improve, and reward people who demonstrate a commitment to quality and are willing to take end to end responsibility for the project.
4. Share the pain of time zone separation
Blended teams often have multiple members in different time zones. Some companies let the team with the most members set the workday rules, but this can make the other teams feel undervalued and unfairly treated, hindering good communication and teamwork. Making everyone share an equal burden where possible is not only fairer, but creates empathy between teams and reinforces the idea that all teams are of equal value.
The daily Scrum is typically the best time to pass the baton, setting things up so that the team coming online can pick up where the other team is leaving off. Holding a daily Scrum via video conference makes it easy to ask questions and get everybody up to speed, but it doesn’t have to be a morning routine. The Scrum meeting can be held at whatever time of day is most suitable for the parties involved, or alternate to spread the out-of-hours burden fairly among team members.
5. Understand cultural differences
Culture plays a vital role in how people engage with different situations. Being aware of cultural differences and promoting cross-cultural competence across all locations is an important part of leading an effective team.
In a blended US/UK team, for example, we found that the members of the US team were more direct and open with their communication and status updates, and they expected the same from their counterparts. The UK team, on the other hand, tended to be more conservative and political in their communications and expected their counterparts to follow a more hierarchical communication. This is just one example of cultural differences within a blended team, and without proper awareness and communication these differences can cause major problems for a project.
Every team is different, and stereotypes can be harmful. The key message here is to be aware of potential differences and to be able to adapt to the differing methods and expectations of a blended team. Many organisations offer cultural awareness training for their staff, and when working in blended teams that extra bit of awareness can be well worth the effort.
As companies leverage global talent in a fast-changing technological world, blended teams are becoming more and more common. Managing a blended team presents unique social and technical challenges, but the right leadership with the right tools can create a team that is in-sync and on track, even from half a world away.
Harish Rao is a seasoned IT professional with experience across roles including offshore and blended software development and testing. He has worked in industries including IT engineering, finance, insurance and healthcare, cultivating expertise that spans a range of technologies, methodologies and processes in both development and management environments.
Harish is well versed in building applications incorporating a variety of platforms (Mobile, Web, Client Server) and architectures (SaaS, PaaS, SOA and Cloud). He is a certified PMP®, PMI-ACP® and ITIL-Foundation practitioner, and has technical skills including fluency in multiple programming languages, experience in database management and an in-depth knowledge implementing, configuring and using the Atlassian tool set.
Harish is customer focused and thrives on leading and motivating high performance teams.