One outsourcing project that went relatively well involved a very large and detailed section of documentation. This happened at a major software company that we all know. I had to edit a section of an API (Application Programming Interface) document that contained over 115 subsections. Each subsection described an API function and included the function name, parameter list, parameter description, and description of the function.
Each subsection described two versions of each function, namely, version 2 and version 3. One of the versions contained an extra parameter and a description of that parameter. The documentation for each function included a few clearly marked sentences that applied only to version 2 and others that applied to only version 3.
New government regulations did not allow documentation to combine two different versions of these functions. Meeting the new regulations required copying the entire section (with 115+ subsections) to a new section devoted only to Version 2. The original section was renamed to Version 3. In the Version 2 documentation all references to Version 3 specifics would be removed. Version 3 references would likewise be removed from Version 2 functions.
Here is a summary of the tasks required:
- Duplicate the entire documentation section
- Rename one of the sections to “Version 2” and rename the other to “Version 3”
- In the Version 2 section remove any information related to version 3
- In the Version 3 section remove any information related to version 2
This sounds like a pretty easy task until you consider that this document resided in a very complex document control system. Each API section was in an XML file with a GUID (very long random string of hex numbers) as the filename. Creating the new section would require generating a GUID for each file, adding that to the document control system, etc. In addition, each file needed notes describing the modifications made. If these were simple HTML files the task would have been much easier. The complexity of the document control system made this a very non-trivial and tedious task.
The Outsourcing Process
The company wanted to outsource this task to their group in China. These were very hard workers but their English skills were limited. I had to write EXTREMELY detailed instructions that contained examples, before and after text, diagrams of how the finished should look, etc. These instructions required multiple reviews by senior managers who were more familiar with the language limitations of the group. The instructions went through multiple revisions before being sent to China. Keep in mind that I am familiar with writing simple and clear instruction to audiences with limited language skills.
Once in China the work went quickly and they created very good documents. I did final checking and editing as they completed the subsections. The job got done in a timely manner and it turned out very well.
The Downside
While the project got done but the outsourcing did not make much sense. First, it took about three days to write, edit, and revise the highly detailed instructions. That does not include the time by managers to review and comment on those instructions. The Chinese workers did a very good job but not a perfect job. I spent at least another 2-3 days reviewing the documents and making final edits. It took the Chinese workers probably 3-4 man-days to actually do the work. This comes to about 9 days of work.
Doing the entire project myself would have taken me 4-5 days. In the time it took me to write the instructions, check the work, and make the final edits I could have completed the job on my own.
Conclusion
The final product was good. The outsourced workers did a good job in a timely manner. However, outsourcing cost more time and money than doing the job locally. Doing the entire job myself would have cost less and taken less time.