Over the last few months, I've supervised a group of offshore outsourcers who were using a very productive IDE that was new to them for one project; I also used the IDE myself for another project.
The outsourced project eventually turned out to be worthless, for a variety of reasons. Even though it seemed to be on track during development, once we got the code it became apparent they had violated a number of basic principles. My personal project, done in much less time, seems to be on track so far and I'm fairly sure that I can keep it on track. I know exactly what's in it, and I have thought through the architectural and implementation issues in detail.
I don't know if there's a general lesson here, but my take-away is that once you have an IDE that makes it easier to build a working project than it would be to build a specification and a wireframe mock-up, the value of outsourcing diminishes greatly. When you're supervising an offshore group, you have to be able to explain what you want. And if the easiest way to explain what you want is to simply build the project, there isn't much left for the outsourced developers to do.
In this particular case, the RAD IDE was Alpha Five Version 10, which is currently in a late beta stage. However, I think that the same lesson might apply equally well to other very productive IDEs, for example Iron Speed Designer and Servoy Developer.
It may be that I'm just better at building software than I am at explaining what I want to other people, so I'd be interested to hear from others. What's your experience with building software yourself versus working with outsourcers?