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.
[ Also on InfoWorld: Alpha Five V10 does codeless AJAX | Keep up with app dev
issues and trends with InfoWorld's Fatal Exception and Strategic Developer. ]
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?