How Softerra Can Minimize The Risks Associated With It Outsourcing And Offshore Software Development
Despite its numerous undisputed advantages, Information Technology (IT) outsourcing is often associated with certain risks.
Many research works define the four main problem issues usually faced by customers when outsourcing projects on custom software, web and database development to offshore companies. They are: schedule, cost, functionality and quality.
This list items largely partake of the claims usually asserted in process of software development in general, rather than just as regards its outsourcing aspect. This is what Frederic P. Brooks, the OS/360 Development Manager, had to say about his product in the introduction to his famous "The Mythical Man-Month" book:
"Any OS/360 user is quickly aware of how much better it should be. The flaws in design and execution pervade especially the control program, as distinguished from the language compilers.... Furthermore, the product was late, it took more memory than planned, the costs were several times the estimate, and it did not perform very well until several releases after the first."
So, what's the reason for such software development inconsistencies? According to Frederic P. Brooks, the key problems are low level of management in general and difficulty trying to ensure effective communication inside large groups of developers, in particular (in fact, he was examining the large-scale (tens of man-years) system creation issues).
The above-mentioned problems get even worse when we consider the fact that the product requirements are formed at one company (customer), while its realization is carried out by another (developer).
The main reason for not observing the customer-appointed time schedule along with the estimated price and functionality lies in inadequate project documentation. Given that in process of outsourcing the informal way of contact characteristic to the internal development is unacceptable, the only communication means between a customer and development team left is documentation, which has to contain the complete set of requirements as to the application functionality as well as the terms of its final delivery. Failure to comply with those requirements leads to a resulting product unconformity to the customer's needs, which, in turn, entails various alterations. So, the project timeframe along with its budget inevitably get exceeded, or, in case the project development time has been strictly limited, the desired functionality is not met. That is why we, before other things, pay our utmost attention to drawing up as comprehensive documentation as possible.
First of all, we elaborate a preliminary estimate; this paper is to outline the basic features of the application, its approximate cost and a timeframe. The next stage, coming just before starting the project, will be drawing up a detailed estimate containing as complete requirements towards a custom solution as possible. This is a rather serious and time-consuming task that may last for up to a week depending on the project complexity. Special attention is paid to the project time schedule with precise milestones for each of the functional modules. During the course of the project implementation we are constantly keeping a two-way communication with the customer all along the way, trying to make sure all the system parameters are understood and being implemented correctly. We also do our best to agree upon the order of further technical parameter changes, because in practice during the implementation of projects on custom software, web or database application development clients often get to know their requirements better, which results in their seeing the final product in a different light. So, thanks to the above organizational measures, one can avoid facing the time and functionality problems (plus the budget extension, correspondingly).
However, this option may not always be exercised. Drawing up an estimate, we expect a customer to provide us with all the information regarding the final product description and its required functionality right from the start. But this often appears not feasible due to the custom solution complexity, or when a customer does not have enough experience in software development management and/or he/she does not possess proper technical qualifications.
In this case we include some extra time for research and draft software sample creation to our estimate. With this organization of the working process the product specification is being created gradually and may even be drawn by a person without high level of technical knowledge - the customer having a clear idea of the software application concept will suffice.
The work is organized based on the following principle: first, the customer provides a rough description of what he/she wants. This will be enough for us to create a demo version. Then, as a rule, the customer may want some elements to be functioning in a different fashion or the design changed or some more functionality added. Then the cycle goes over again and again until all customer requirements are met in full.
This way we'll be able to avoid the major cause for the project budget inflation as well as the customer's dissatisfaction with the final software or web application performance being an insufficient (or inaccurate) technical specification. Although in such case the application development work efforts will increase, the overall budget will remain very advantageous due to the offshore development aspect and you are sure to get a better solution that best answers all your needs for less money than if receiving services from domestic software development companies.
Our company Softerra always has and does now pay the closest attention to quality issues. What can best guarantee the highest standard of our products is the fact that under the conditions of our contract the customer effects a payment only after the product quality assurance. Trying to maintain our high quality level we mainly focus on the following aspects of the software development process: high proficiency level of developers, strict conformity of the development process to the industry standards and thorough testing of the final product.
For more information, please refer to the detailed description of Softerra Software Development Methodology applied to the development of medium- to large-scale custom software applications.
Offshore Software Development
The key difference between offshore software development and domestic software development is even more difficulties experienced when trying to establish good 'contractor-client' communication. The problem consists of the two main factors - cultural differences and geographical remoteness.
Unfortunately, the culture shock often becomes a major barrier in course of intercultural exchange as integral part of offshore software development business relations. In addition, this barrier usually makes the rest of encountered problems even worse.
So, when does this culture shock become apparent?
Billions of people live most of their lives in a rather homogeneous environment - they speak the same language, watch the same movies, go to similar schools, have common goals and motives: And at some point they get used to all that surrounds them so much that it makes them think only their lifestyle is normal - they often can't even imagine things can be somewhat different. When meeting someone of a different culture, it often appears that a person, due to a realization of a huge disparity in the cultural fundamentals, feels that misunderstanding is inevitable because his/her 'alien' counterpart behaves in a illogical way, which makes their successful co-operation hardly achievable.
As applied to Softerra, the issue of cultural differences is not that material, our home land Ukraine is a Christian country having Greco-Roman roots, which means that the cultural base is very similar to the one in the US and Europe. All our personnel speak fluent English and so far we haven't experienced any problems doing business with the US and European-based customers.
In process of project implementation it is often imperative the parties meet 'face to face'. In this kind of situations having to travel long distances and different weather conditions may cause certain problems while trying to organize a meeting between the customer and the contractor representatives.
Softerra has its headquarters in Kharkov City, Ukraine (Eastern Europe), so we are as relatively close to our European customers as almost anyone in the continent (a flight from Kharkov to Frankfurt in Germany takes just 3 hours). As to the US customers, it makes no difference for them whether to visit us or to travel, say, to India. Moreover, we have got extensive experience in receiving our foreign guests here in Kharkov to ensure the best possible conditions for them to achieve their business goals, on the one hand, and to have a memorable and entertaining stay in Ukraine, on the other.
We take on all the accommodation arrangements such as hotel reservation, air ticket booking, transfers all around Ukraine (in case our guests arrive somewhere outside Kharkov), as well as various leisure and entertainment programs. We are flexible enough to adapt our working schedule so our customer feel maximally comfortable to ensure the most productive co-operation. In case of need our representatives are always ready to visit customers on business wherever they are (e.g., for the developed product installation and final testing). As to the Ukrainian climate, it is very similar to the one in Germany or the Northern US states.
Therefore, for Ukraine (and Softerra in particular) the risks usually associated with offshore software development (like cultural differences and geographical remoteness) are not at all high. Besides, one of our key priorities now is to reduce them to a minimum.back to top