Chaim,
I spent 30 years in uniform in the Navy (20 of these in the Reserves), flying carrier-based fighters, then working mostly on air vehicle systems as an engineer. After my active duty time, my day jobs were in a series of positions in Silicon Valley including a stint running Sun Microsystems corporate internet development group in the mid 90's - when Java and XML entered the scene. I now run a software development company that focuses on building scalable software for particularly difficult challenges. One of our contracts is with the UCAS-D program where we signed on to lead an effort to combine government and commercial developers building government open source software applications for autonomous air vehicle operation and integration into carrier air wings.
We started out trying really, really hard to integrate the civil service coders into our development environment (cloud-based, Eclipse, Maven, SVN, Bugzilla, etc, etc). The idea was to get lots of developers across multiple teams to use a toolset that facilitates code sharing, collaboration, continuos integration, etc. What a nightmare. Things that were trivially easy to set up outside DoD proved impossible to do for these guys. No technology problems whatsoever - all policy issues. We decided to go at the policy issues directly. Our argument was (and still is) that software development needs to take place under a different enterprise ruleset than the standard enterprise user. Rules that make sense for 99% of the Navy make it impossible for civil service developers to work. We met with senior security folks. We met with senior NMCI infrastructure folks. Asked for waivers, made proposals. To date (over 2 years in), we've been unsuccessful at getting the government developers simple VPN access to our tools and administrative control of their machines for local tool installs. Our environment is a virtual development environment - advanced, but not at all unusual for developers today. The Navy denies that environment to it's developers by policy.
This problem is self perpetuating. Because there is so little experience with advanced software development inside DoD, the techniques and advantages are largely unknown, and when there is awareness of them, the lack of experience makes it so that developers and their chain of command don't understand the issues. Because the experience level and understanding is so poor, software acquisitions that are contracted out cannot be evaluated or managed effectively. The result is expensive software that integrates poorly, and can't be maintained, integrated, or updated effectively by the customer. It also results in good developers leaving government service to go to work where they can do their jobs effectively. Lose, lose, lose.
We work around the policies, but that's just ignoring the issue. Love to fix this problem. Please let me know if I can help.

Rick