Working with Outsourcing Partners: Opportunities, Challenges, Cultural Issues
Challenges
Working with remotely located developers with whom you do not meet on regular bases poses special challenges no matter how near or far the developers are. Without thoroughly understanding the relevant challenges and mastering the solutions it's easy to incur more losses than gains.
Choose the Contractors for the Right Tasks
First of all, the best quality results are achieve if the relevant parties handle the tasks that they are good at. For example, many of the low cost overseas outsourcing solutions providers do a good job in some application development areas and in many instances seem either to be less skilled in other areas, or simply do not address adequately other areas.
Accordingly, this company's project developers put together the application's specifications, that form the foundation that the project is built on. In addition to project development and management, in most instances this company's project developers also handle usability-related tasks. Further, we hire from different parts of the world qualified application developers for programming, web and database development and other application development tasks.
Top
Understand the Nature of the Communication Process
Communication with remotely located application developers becomes challenging when complex requirements need to be implemented programmatically. How do you make sure that people in another culture, far away, understand something that you wrote the same way you understand it, when what you describe is rather complex?
The answer is in the combination of dividing the functionality descriptions into small functionality pieces, having the application developers communicate their understanding of the functionality to you, and using both functionality descriptions that assess the application from the users side and from technical specifications side, in addition to also using a prototype.
The more complexity, functionality and user interfaces the planned application involves, the more can prototype benefit different parties during the development process.
First, it allows the application's future users to see what the application will look and feel like before the development process enters the heavy duty programming and development stage. So, the necessary changes can be made well before the users start testing the actual application.
In addition, prototype allows us to handle the user interface design and usability-related tasks and confirm the solutions with the users early on.
Further, prototype is a communication vehicle that helps to convey the requirements to the application developers, and, as a result, can considerably shorten various application development steps.
Top
Understand the Nature of the Challenges the Overseas Application Developers Have to Face
Many overseas application developers whose work can be obtained for a relatively low cost are very highly skilled professionals. However, when people churn out relatively simple applications for most of the time, they may have difficulties with implementing more complex requirements that need more thorough analysis to begin with.
To put it differently, people who are expected to produce results inexpensively, usually have to produce them under considerably time pressure. The less time the developers and their project manager have for becoming familiar with the requirements, the more likely it is that they will not implement the requirements correctly.
This time crunch issue often seems to tie together with cultural issues, that are addressed below. Another issue, less than sufficient feedback and communication regarding the needed topics, seems to be related to both lack of time, cultural issues and willingness and ability to communicate in writing in the chosen language.
Top
Address Quality Control on Continuous Bases
No matter what development methodologies are used, for all practical purposes, bug fixing is an inevitable part of the development process.
When working with the overseas application developers, the more complex the application, the more likely it is that quality control can create problems if not addressed methodologically.
People who are expected to produce results inexpensively can allocate less time for quality control and, it seems, may be also less used to doing thorough quality control.
Thus, we have to work out and rigorously enforce quality control and standards. The more complex the functionality part is, the more minute parts of the functionality should the quality control assess from all the different angles. This is a continuous process that has to be repeated for these functionality parts where bugs are found.
To continue, choose from the left-hand column article Working with Outsourcing Partners: Opportunities, Challenges, Cultural Issues subsection of interest.
|