Agile Sponsors
Featured Whitepapers
- Learn Ways to Keep Schedules and Costs in Line With Requirements Change Management
- Java Deployments in an Enterprise Environment
- Challenges & Characteristics of Enterprise Continuous Integration
- Build Release Plans That Deliver Customer Value!
- Improving Traceability and Auditability Across the Development Lifecycle
|
Whether you are concerned that your job is going to be shipped to India[i] or feeling safe that the outsourcing craze is calming down,[ii] the reality remains that we live in a global economy and more and more companies are beginning to explore ways to creating software in distributed and multicultural environments. The Web and the open source movement have demonstrated that it is not only possible to create quality software in a highly distributed and decentralized manner, but also that it "makes business sense" to do so.[iii] This article presents a pragmatic framework for introducing Agile practices and tools to Onshore-Offshore Distributed Teams (OODT).
As someone who has been in multiple roles from development to management on both sides of the shore, I've had the chance to work in several outsourcing models. My experience was in many ways similar to others' success stories[iv] and horror stories.[v] I've observed that finding a working model is far from trivial.[vi] Typical challenges can range from communication issues, IP infringement risks, and lack of adequate top level management skills to quality control, capacity management control and social and political factors. Then, there are the not-so-typical challenges like the incompatibility of the onshore-offshore company cultures and the way software is created. The last factor plays a crucial role in the success of the model, because it incorporates vital elements such as:
This article focuses on these five aspects of software development which can help in transitioning the OODT to Agile. As with every transition, the important thing is to start small with a pilot project and learn as you go.
This is the first model of offshoring in which the implementation team (programmers, testers, documentation and support services) is shipped overseas. In this model, the design team is located onshore and it sends the requirements overseas. The offshore team responds with back fully-tested and working code. The onshore team then performs the user acceptance tests and validates the requirements and the defects.
Figure 1 depicts a sample OODT infrastructure. The CI server takes the center stage in an Agile OODT infrastructure. Both teams use it as a means of triggering the build and tracking the status of the code at any given time. The CI server should reside close to the implementation team because it can notify co-located teams visually or by generating a sound. Both onshore and offshore teams have access to all network resources all the time, however code repositories, Wiki servers and other supporting applications are better off if placed close to the teams that use them most.
Figure 1: Sample OODT Infrastructure.
Agile Tools
Figure 2 : Sample of Open Source Agile Tools
Conclusion
OODT teams considering Agile development exercise special care during the transition period. A successful transition starts by identifying the right offshore partner - someone committed to creating software in a collaborative and Agile fashion. Next is the careful selection of key offshore employees. The chances of hiring the right talent offshore are significantly higher if the onshore team gets involved in the selection and interviewing process. Following the formation of the team, the OODT decides on a core set of Agile practices and tweaks them until seeing concrete results. Finally, a careful selection of Agile tools is a great help for the collaborating distributed teams and can make the development process more enjoyable.
About the Author [i] See "My Job Went to India," Chad Fowler, http://www.pragmaticprogrammer.com/titles/mjwti/ [ii] See "Outsourcing Boom Is Over" eWeek, http://www.eweek.com/article2/0,1759,1987497,00.asp?kc=EWRSS04069TX1K0000700 [iii] See "The Success of Open Source," Steven Weber, http://www.amazon.com/Success-Open-Source-Steven-Weber/dp/0674018583 [iv] See "Simple Successful Outsourcing," CIO Magazine, http://www.cio.com/archive/100105/outsource.html [v] See "Outsourcing Horror Stories," Steve Mezak, http://accelerance.typepad.com/runtime/2006/09/outsourcing_hor.html [vi] See "Offshore Outsourcing Failure Case Studies," EBS Strategy, http://www.ebstrategy.com/Outsourcing/cases/failures.htm [vii] See "201 Principles of Software Development, "Alan M. Davis, 1995. New York: McGraw-Hill. http://www.amazon.com/Principles-Software-Development-Alan-Davis/dp/0070158401
Set as favorite
Bookmark
Email this
Hits: 9154 Comments (0)
|
| < Prev | Next > |
|---|
Agile Marketplace - Announcements and Special Offers
Webcast: Moving Build and Code Quality Upstream
This interactive panel discussion moderated by Bob Aiello, Editor-in-Chief fo the CM Journal brings industry experts Anders Wallgren, CTO of Electric Cloud and Gwyn Fisher, CTO of Klocwork together for a candid discussion of the cost savings, productivity and quality benefits that can be achieved by stabilizing builds and code quality as early in the development cycle as possible.
Register Now!
Collabnet -TeamForge 5.3
CollabNet TeamForge 5.3 includes Dynamic Planning—providing flexibility to model release scope and timeline in a single view. Now, you can easily manipulate/adjust release data.
Download Your Free Trial
Requirements-based testing (RBT) can help to ensure comprehensive test coverage, reducing the risk of failure and improving software quality. This white paper details how application lifecycle management can be used to more effectively implement RBT processes, offering greater collaboration, traceability and control.can help you increase efficiency, reduce project risk, and improve overall software quality. Learn how MKS Integrity for application lifecycle management enables RBT, delivering full lifecycle traceability to help ensure that project requirements have complete test planning and execution coverage.
Download the Requirements-Based Testing whitepaper
PureCM –SCM for Agile Teams
PureCM helps you to manage development in short iterations: keeping track of changes, supporting automated builds and preserving frequent snapshots of your projects.
Get the free trial now


