When to Accept Alternative Solutions
One of the strategies we recommend in our outsourcing book suggests outsourcing projects on platforms or in environments that you’re already familiar with. Outsourcing that which is familiar not only reduces the amount of time spent on understanding new procedures, tools, or syntax, it also reduces the time (and money) spent on making repairs or edits since your familiarity with a particular platform or environment makes quick fixes a snap.
There may come a time, however, when a project’s end-result is more important than the process it took to ‘get there.’ The programming language of a software tool, for instance, might not be as important as what the tool accomplishes. This article describes when accepting an alternative programming solution can be an appropriate outsourcing strategy.
When No Experience Is Needed
RentACoder’s project wizard (long form) asks for your preferred programming language during your project’s requirement interview. One of the options lets service providers suggest an appropriate language for the project being built.
 |
You don’t have to be a code guru to work with a code guru. Many competent programmers are capable of bringing a spec to a compiled exe without you having to know what htmlToXml.put_XmlCharset(utf-8); means. |
It’s a terrific option for outsourcers who a) don’t have any experience with programming languages at all and have no idea what to ask for, or b) are simply looking for a solution.
When You’re Free to Choose
Let’s say you’ve solicited several promising bids for a Visual Basic software program, and one bid accompanies a sample of the exact solution you’ve been looking for. Let’s say this sample was built in a language that neither you nor your colleagues have ever heard of. What will you do? Discard the bid in favor of a solution that will be built in VB, or accept a demonstrative and workable solution?
Assuming you have no one to answer to except yourself, we recommend the latter. Dismissing a bid based on a non-critical language preference could create more risks than it’s worth. It could also completely ignore the perfect answer to your problem.
When the Unknowable is Knowable
Any programming language can look foreign if you stare at it long enough. You’ve got misspelled words everywhere, punctuation marks all over the place, and enough empty spaces to fill the test tubes they belong in. Fortunately, all languages make provisions for commenting in plain English, which means your service provider can and will explain what’s happening in a program’s code should you require it.
 |
Commenting removes a lot of the fear that may accompany software built in an unfamiliar language. So ask for it and ye shall receive. Make commenting a job requirement and suggest areas that will need explanation. |
With sufficient explanation and the appropriate compiler, you should be able to make minor changes(show demo) (i.e. screen color, dialog text, etc.) without corrupting what your programmer worked so hard to build.
When You Have Access to the Same Tools
Speaking of building exe’s, you may need access to the same programming IDE that your provider uses to code your software should you want to edit the code on your own later on. Without that access, you’re stuck with nothing more than code and the executable that you purchased.
All software needs to be compiled to run. So ask your provider for his or her language’s compiler information to determine whether it’s useable on your system and affordable. Experiment with the IDE just to get a feel for it, and learn how to compile code with it. If you can’t figure it out, ask your provider for instructions.
When the Alternative Works
 |
Thousands of developers use the AutoIT language to write utilities, network monitoring software, and more — making it one of the better-known alternatives to other (often expensive) OOPL-type languages. |
Although there are hundreds of programming languages available that can accomplish similar tasks, some are capable of more (or less) than their counterparts. Outsourcers and providers willing to forgo language requirements must therefore ensure an alternative language can accomplish what’s required in the contract.
This is more the provider’s responsibility than the outsourcer’s, however it never hurts to verify. If you’re concerned, for example, that an alternative programming language might not generate a multicolored spreadsheet, ask your provider to show that it will prior to committing.
When the Alternative Moves into the Mainstream
All obscure, but good programming languages eventually gain a large following and start getting attention in circles where normally, only popular languages are ‘spoken.’ AutoIT is an excellent example. AutoIT started out as simple macro software in 1998-1999. Since then, it has developed into an independent programming language complete with GUI capabilities.
So what do you think? Are you willing to give an ‘alternative’ bid a try? Let us know in the comments section.