Currently, contracting is allocating to fulfill a job for a long term requirement. I work in the Information Technology field, and I believe that the only contracting that should be done is for short term development. As it stands right now, our job is extended indefinitely because we support the work flow rather than any special project. It is supposed to be that a contractor can be removed and the job function will not be damaged. At current status, if contractors were removed, it would result in work stoppage.
It would be significantly most cost-effect to convert the contracting positions to civilian slots. While doing this, they can actually consolidate job functions to reduce the number of positions while reducing overhead.