remote personnel remotely logon to the local systems to perform development work. The remote personnel perform version control on the local server or client similar to what the local personnel do. This allows personnel to remotely log on directly to a local system where the code resides and is worked on. This method requires low setup effort and has high network (WAN) dependency. The number of personnel at remote sites that may work in this setup is directly proportional to the network bandwidth and performance to the local site, but is typically a low number of personnel. This is only recommended for low complexity development technologies.
2. Terminal services: This is when remote personnel use a local terminal services server or client to host the development technology and application code, which comes directly from the local server. The activity from the local server or client is viewed via the remote client with low network utilization. The remote personnel would perform version control on the local server or client as if it were their own client. This technology minimizes network bandwidth challenges and allows personnel to remotely utilize local systems to access and work on the code on a local system. This method requires medium setup effort and has medium network (WAN) dependency. This may be applicable for a small to medium number of personnel at remote sites working with the local site. This is only recommended for low to medium complexity development technologies.
It is important to understand that there are many ways for a distributed development team to share code. An analysis to identify the project characteristics should be input to the decision to determine which approach to take. On the other hand, selecting too simple of a distributed code access technology approach may limit or constraint development due to poor performance. On the one hand, selecting too complex a distribute code access technology approach may lead to more administrative effort that can overwhelm a small team. Ensure you select the distribute code access technology approach that is right for your development team.
For more information on how to establish a more thorough global distributed development/SCM strategy for your needs which includes working templates to help you through the distributed analysis and distribute direction process, consider reading section “5.3 Define a Global SCM/Development Strategy” in Chapter 4 (“Establish an SCM Infrastructure for an Application”) of the book the “Software Configuration Management Implementation Roadmap”. In the same book, consider reading the section titled, “7.5 Establish the Global SCM/Development Infrastructure” for guidance on implementing the distributed code access technology approach you selected.
1. Section “5.3 Define a Global SCM/Development Strategy” in Chapter 4 (Establish an SCM Infrastructure for an Application), p90-95 of the “Software Configuration Management Implementation Roadmap”. by Mario E. Moreira, 2004, John Wiley & Sons, Ltd Publishing
2. Section “7.5 Establish the Global SCM/Development Infrastructure” in Chapter 4 (Establish an SCM Infrastructure for an Application), p128-130 of the “Software Configuration Management Implementation Roadmap”. by Mario E. Moreira, 2004, John Wiley & Sons, Ltd Publishing
3. “Managing Distributed Software Development”, by Randy Guck, StickyMinds ( www.StickyMinds.com), November 2002
4. “AMR Research Survey Results: 35% of Users To Outsource IT Work to Offshore Companies”, by Lance Travis, October 2003