Agile Best Practices for Offsite and Offshore Projects Agile Testing

A key agile best practice is that of co-locating all the project stakeholders. While this may be a realistic option on smaller agile projects, what happens to agile projects where key staff cannot be co-located and spend much of their time at a different site, or where significant numbers of the team have to work in different geographies? Under these circumstances, how can effective communication be achieved?

The best practices documented in this section have been shown to have particular value when used on agile projects where a significant number of project stakeholders are offsite or even offshore. The following practices should be used in conjunction with the agile practices documented in the preceding sections to provide a combined set of best practices for use in offsite or offshore gile projects.

Agile Process and Project Management for Offshore Projects

  • Progress measurement –Due to differences in time zones, combined with potential language and cultural differences, obtaining accurate and timely project data is a particularly challenging aspect of offshore projects. Offshore projects significantly increase the likelihood that important project information will be misinterpreted or misunderstood. Wherever possible, consider tool support for estimating individual and overall project progress.(This issue is covered under the section on agile automation for offshore projects).
  • Progress visualization –Solutions for delivering essential project data to all members of a team that includes offshore assets must address both technical issues(ensuring that the solution can be distributed)and cultural/language issues(the information must be easily understood by the offshore team). Although an Internet-based project portal satisfies the former issue, the latter is more challenging, perhaps involving the assistance of a co-located offshore representative(see the section on non-co-located teams), considering the role of semiotics or through a pilot scheme to explore and address these issues before the full project is launched.
  • Availability of process guidance–It is critical in an offshore project that all team members follow the same process in developing the software, and it is essential that all members have access to guidance on the process that has been adopted for the project. Process guidance should be made available to all members of the team via a distributed solution, such as an Internet-based project portal. Be sensitive to language or cultural differences when setting up such a solution, and ensure that the content and its presentation can be easily understood and used by the offshore team.
  • Metrics –Effective solutions must be found to ensure important project data can be collected, analyzed, and distributed in an accurate and timely manner. The role of distributed process enactment products in offshored projects, which provide a development environment that enforces the use of the agile process selected for the project, and which also automatically collect data on estimates and actuals, provide an effective solution to this requirement.(Further information on this solution is provided in the section that follows on agile automation for offshore projects).

Agile Communication and Meetings for Offshore Projects

  • Non-co-located teams –The analysis of the case studies provides some excellent best practice guidance on specific solutions for improving the quality of offshore communications.
  • Set up and use an effective project communications infrastructure. The facilities could include instant messaging, Internet telephony(potentially involving a webcam for face-to-face communications), and/or full videoconferencing tools. Web 2.0 technologies, such as virtual team meetings in Second Life, may also be of value.
  • Harmonize offshore time zones. Consider adjusting the working day start and end times between the different time zones to improve the working overlap between the zones. Even starting work half an hour earlier in one time zone, while finishing work a half hour later in the other zone, will make an overall difference of one hour. Each week or every other week, consider varying the start and stop time on one particular day by one hour. This overall two-hour difference could be used for the purposes of holding an extended combined project meeting.
  • Co-location of an offshore representative–On an extended or high-value project, consider having one of the members of the offshore team co-located at the primary project site. This can be of significant value in helping to address cultural and language issues associated with offshoring.
  • Agile meetings –Although the more traditional solution of videoconferencing can be used to provide“face-to-face” meeting support, also be receptive to the use of innovative technologies to support meetings with offshore teams. Web 2.0 tools, such as Second Life, may provide one practical solution to holding distributed virtual meetings.
  • Improving interpersonal communications –For the success of those agile projects where key stakeholders or larger parts of the team are offsite or offshore, effective good-quality communication becomes critical. In project meetings and other opportunities for contact, all members of the project must be given the opportunity to communicate clearly as well as have an equal opportunity to contribute to the discussion. Be sensitive to cultural differences and language issues, and find opportunities to establish a good rapport with offshore colleagues.

Agile Automation for Offshore Projects

  • General –Any productivity tool that is planned to be employed by all team members on an offsite and/or agile offshore project must be robust and reliable, and specifically intended for distributed, cross-geography operation. Integration and interoperation issues have to be carefully considered to ensure that any selected products that need to work together can do so successfully in a distributed manner. A formal tool evaluation and selection process(such as that documented in is essential in selecting the correct products.
  • Requirements management tools –To ensure everyone on the project has upto date and accurate requirements information, consider the use of a distributed requirements management tool. Any candidate product should support distributed access for all stakeholders, such as via a web interface, to enable all team members to submit, review, discuss, and use requirements nformation.
  • Build management tools –Strongly consider using distributed build management tool support to facilitate continuous integration across the whole team, including offsite or offshored resources. Integrate testing tools(including unit test, code analysis, functional and regression test, and code complexity analysis products)within the build management process to automatically execute the tests and flag those builds containing defects or areas of concern.
  • Process enactment tools –The use of such products appears to be of particular value in offsite or offshore projects. A distributed process enactment tool that is capable of operating in a cross-geography manner can be used to ensure all members of the project are following the same agile process in the same way and that the project manager is able to obtain up-to-date and accurate information on the progress of the project. Consider using a process enactment tool in conjunction with a process guidance tool to ensure all practitioners have access to information on the agile best practices the project has adopted.

All rights reserved © 2018 Wisdom IT Services India Pvt. Ltd Protection Status

Agile Testing Topics