Nowadays everyone knows that outsourcing of software development from Eastern Europe, India, China, Philippines, and other countries with cheap labor force is very popular.
Among the countries of the Eastern Europe a lot of outsourcing projects fall to Ukraine's share. Luckily, there are a lot of highly qualified IT professionals there. Those are both experienced developers from soviet times and young talented specialists.
Being well acquainted with the peculiarities of work in this sphere, I often hear my colleagues from other companies saying - "The customer is always right". They mean they will go all the way to satisfy their client's demands, letting them:
1) set fixed terms of development;
2) choose technologies;
3) choose a project team;
4) basically decide everything, even though it will affect the successful completion of the project.
At the same time the developers instantly understand that:
1) it will be impossible to finish the project in time;
2) the technology chosen by the client isn't effective for his particular application, and it can jeopardize the quality of the product;
3) experienced Senior Developers carefully selected by the client to fix bugs will in couple of months lose all the interest in this project and the effectiveness of the work of the team will decrease drastically etc.
From the above said I make a conclusion that the statement "The customer is always right" is inapplicable to our sphere.
It should be also taken into account that the outsourcing projects are usually relatively small. And the companies that try to decrease their expenditures by outsourcing are also medium or small. And a great part of outsourcing clients are start-up companies.
Most of these businesses do not have decent IT specialists in their staff and also do not have a chance to engage serious consultants.
All these factors, including an attempt to save on the time (and therefore on the cost) of development, lead to the situations when clients groundlessly insist on some specific features of the project development. At the same time they assume that a company will satisfy all of their demands. And as a matter of fact they eventually find developers that agree to all these requirements. They are either inexperienced young companies (e.g. groups of students), or companies on the edge of bankruptcy, ready to do anything to get some cash.
Naturally these kinds of projects are very problematic. And that is where the rumors of bad outsourcing experience come from.
To avoid mishaps, the customer should be very careful in choosing the outsourcing partner for his project. Choose companies which offer project analysis, grounded evaluation of the given task, and not just say - "We will clone Internet for you for 5k".
Having finally chosen a partner, you should trust him. The companies providing this kind of services are usually very experienced. They value their reputation and are looking for a long term partnership.
Don't worry; it is totally possible to find a reliable outsourcing partner.
Veronica Lisovina is a Senior Vice President at outsourcing software development company, XITEX Software and Vice President, Sales and Marketing at game development company DRAGON ALTAR GAMES (Ukraine). She can be reached through websites http://www.xitexsoftware.com and http://www.dragonaltar.com.