Veera Srinivas Raneru is a Senior Technology Lead responsible for expanding the growing portfolio of digital transformation services at Ness Hyderabad, India. He works on developing innovative technology solutions, and implementing devops practices like CI/CD/CT to increase agility in data latency projects. Veera’s recommendations are based on his personal experiences and research. He is currently helping Ness clients work through challenges specific to the Coronavirus pandemic and the pursuit of productivity enhancements is what inspired this article.
Introduction: Improving speed to market
Leveraging best practices and investing in methodical mentoring to develop successful distributed agile teams ultimately helps in reducing product delivery timelines. It also helps the organization gain a competitive edge because of the benefits this transparency brings to the working culture.
Distributed teams provide a hybrid approach to get high-quality work completed productively for both onsite and remote workers (or completely remote and distributed work as is the case during Coronavirus). This will vary according to the company’s requirements. 
A distributed development project means a team members working collaboratively on the same project separated by distance, time zone, and culture. The benefits of this approach include increased speed for assembling specialized talent, cost differentials by geo, the advantages of “follow-the-sun” and the emerging management theory disciplines that champion virtual organizations. Some of the key challenges with this model relate to the complexity of managing multiple implementation partners, cultural differences, project continuity and knowledge retention, project methodology and processes, client visibility on progress, infrastructure, and overall ease-of-communication. 
Success Stories: Where distributed agile has really worked
IMVU is a virtual 3D avatar building and chat community that is admired by over three million people on Facebook. IMVU succeeded because it utilized Agile test-driven development and Scrum methodologies. It adopted sound operational strategies for its projects and this helped the organization grow. 
Tantus Technologies adopted scrum practices as a standard for all its projects. Within a couple of years, it transformed into a more Agile company, reducing its costs, increasing the quality and effectiveness of its software and the satisfaction of customers. 
Tools like Slack and Facetime can help the distributed teams feel like they are in the same room as their colleagues, helping the whole team be more connected and productive. 
Behaviors that drive successful delivery
Daily Scrum Meetings
Daily scrum meetings are typically held on the same channel and at the same time each day. Usually, they are held early to set the context for the coming day’s work and are strictly time-boxed for 15 minutes. Modern telecommunication/video tools are essential for the team members to communicate easily. 
Sprint planning is a time-boxed working session of about one hour every week during a sprint. This hour is where the sprint backlog is defined and where the entire team agrees to finish a set of product backlog items by a specified deadline. It is a collaborative effort involving a Scrum Master, who leads the meeting, and a product owner, who clarifies product backlog details. 
Some of the techniques that we use to help the distributed agile teams become more effective are:
DevOps – Continuous Integration/Continous Delivery and Continuous Testing
DevOps culture is an aspiration for many businesses. When done well it is characterized by increased collaboration, removal of silos, shared responsibility within autonomous teams, improved quality, valued feedback and increasing use of automation. Many DevOps values are agile values and DevOps is a logical extension of agile. It is a software development approach which involves continuous development,continuous testing, continuous integration, continuous deployment and continuous monitoring of the software throughout the development life cycle.
Continuous integration is the practice where team members integrate their work at least daily so that integration errors are discovered early. This process produces a clean build of the system several times per day. It also promotes vital feedback between programmers and customers, which helps the team get things right earlier and more often.
Continuous testing is the process for maintaining continuous quality by executing automated tests for every commit. This is done as part of the software delivery by producing a test report on the business risks attached with a software release. It increases team confidence in improving application quality and efficiency.
Continuous delivery speeds up time to market and productivity. Software artifacts go through rigorously established automated tests and tools before they are deployed in the production environment. 
These practices constitute a complete flow for high quality deliverable code packages. The new releases are just one click away from being published with fully functional high-quality features with minimal human intervention. 
These are synchronous meetings with distributed teams. There are many tools like Slack that can be used for running stand-ups effectively and consistently.
Reviews, retrospectives, and planning meetings via video conference
We schedule these meetings at a common recurring time. In the case of distributed teams, Slack offers many features to allow remote collaboration. Online whiteboards, such as Realtime Boards/Miro, can enhance collaboration by providing visual stimulus. Trello, LeanKit, Jira, and TFS are tools for storing and managing requirements.  We use this at Ness, and there are also many of the same features in Microsoft Teams.
Shorter iterations work best when the level of distribution is high. Agile teams in a distributed environment prefer short iterations (2-3 weeks) for successful implementation. The higher the level of distribution, the increased chance of miscommunication. With the help of shorter iterations, testing teams who are remote can better cope with frequent changes and updates to the product. 
It is hard to develop true friendships remotely. Meeting in person at least once a year or as often as possible is the best way to create stronger bonds within your company. Joining conferences with remote teams greatly helps too and Coronavirus has encouraged our Ness Team to hold virtual coffee mornings and even tournaments for boardgames and online sports.
When working virtually, it takes extra effort to keep people feeling committed to their team. They need to know that they are contributing true value to the team’s common goal, but are also valuable to the team’s success in achieving its goal. Some ways to achieve this are:
Tools and Techniques
There are various tools to help the distributed team in maintaining product backlogs, planning sprints, organizing and managing the task boards, tracking bugs, and monitoring burn-down. OneNote and Excel in a shared environment like SharePoint are also helpful. Other great communication tools to overcome the challenges associated with distance include:
Similarly, VOIP is an important system for daily stand-ups and conversations. It is highly scalable and provides interoperability. Some of the technologies that facilitate communication with the distributed teams are:
Behaviors/practices not to be followed — Lessons we have learned from:
Some general performance-related metrics that must be tracked to ensure distributed team success are: