Agile Distributed Delivery Model

Agile Distributed Delivery Model has the ability to leverage an agile development approach to specifically address the needs of distributed teams that span across time zones. This model complements uncompromised quality, risk management, and project visibility, coupled with frequent software releases that are essential to delivering and maintaining high-quality, high-value business and technology solutions.

 

Challenges of Offshoring Software Development


Xebia has found that offshoring complex software development adds new risks and challenges in managing the software development process.

The success of offshore software development process requires good understanding and management of the following issues:

  • Cultural and language differences
  • Financial costs of communication and increased communication effort leading to greater turnaround time
  • Requirements Management, Configuration Management and Code Integration Problems
  • Limited trust in the offshore team among the onsite team members
  • Lack of shared ownership of the project between the offshore and onsite team
  • Lack of contextual information at offshore location
  • Possible lack of skills, capabilities and the commitment of offshore team members
  • Formation of customer-supplier relationship between onsite and offshore teams instead of a One Team feeling with shared responsibility

 

Agile Distributed Delivery Model


Following Agile approach and extending our SCRUM based iterative software development model to India, helps in mitigating the risks and meet our delivery commitments at significantly lower costs.

The key elements of our offshore software development model, Distributed Agile, are as follows:

  • Hire the best people for the offshore team using a rigorous technical assessment procedure
  • Onsite and Offshore Teams jointly take the responsibility and work closely together at the technical and project management level
  • One code repository, continuous integration, build and test systems for onsite and offshore teams
  • Daily stand-up meetings, any-to-any messaging and live cams in the onsite and offshore team rooms
  • Short iterations of two weeks duration
  • Collaboration using Wikis, common mailing lists, blogs and podcasts
  • Collocating the onsite and offshore team on regular basis

Some elements of our approach would apply to any software development project whether it involves offshore work or not, but these elements play a critical role in making offshore software development engagement a success.

 

One Team Approach


People, Process and Technology are deployed effectively to mitigate offshoring risks and expedite the value delivery.

The OneTeam concept is based on not splitting teams based on geographical boundaries, but rather create multiple teams that all have team members in both the onsite and offshore locations. This will lead to better understanding of specifications and delivered software, a natural urge to collaborate, knowledge sharing and a more unified goal for the whole team. Also, this is more inspiring to the team members, leading to high productivity and better results. Xebia has overcome the communication barrier to make this effective.

A Scrum team will have a Scrum Master locally and a Team Lead in India. The team will have a flat structure with every member being hands-on and involved in active coding. The functionality is developed in collaboration across the locations with shared code ownership. As the team is ready to handle more functionality we will split the teams into multiple scrum teams each with 7 +/- 2 people (team size dependent on project and client’s current team structure). Each team will have a Scrum master.

To ensure fluid communication between teams, when multiple teams are working on a product, a scrum-of-scrums is introduced. This meeting has representatives of every team coming together daily to discuss the things that are happening in each team, and where possible dependencies might occur. These meetings are lightweight, and involve the same style as the daily standups that are kept within the teams.

They exist around the three basic questions:

  1. What is happening today?
  2. What has happened yesterday?
  3. What is blocking the team from progressing?

This way, teams can see how they might help or block each other. These meetings are highly efficient and effective.

Agile 2009


Jeff Sutherland and Guido Schoonheim presented a case study on a software development project done by Xebia India for a company based in San Francisco in Agile 2009 in Chicago. We successfully applied our Agile Distributed Delivery Model in this project. You may find the Agile 2010 presentation on Slideshare.



Copyright © 2010 Xebia IT Architects India Private Limited. All rights reserved. | Disclaimer