Many organizations are still forcing distributed or offshore development teams to use Citrix remote desktop for development. Although this provides a simple security model – assets supposedly never leave the organization’s servers - using remote desktops for development absolutely cripples developer productivity. There’s not much point paying a cheaper hourly rate for developers if you’re going to impose both the distribution and remote-desktop burdens on them, and we wish more offshore vendors would admit these drawbacks to their clients. It’s much better to use either a 'clean room' secured offshore environment where local development can be done, or a Hosted IDE (e.g. ievms)
For security and compliance reasons, offshore teams are sometimes asked to use Citrix to connect to an onshore virtual desktop, where they do development. While a good tool for some use cases, Citrix provides an extremely poor remote development experience and often cripples an offshore team. There are many better technical solutions, such as the NoMachine remote desktop or Cloud9 IDE, which can provide a more workable experience. An even better solution is to tackle the underlying security and compliance concerns. Since you are trusting the remote team to work on your source code and check in to your code repository, you should try to get to a point where you also trust them to have source code on their machines. They will be much more productive!