IT Outsourcing Challenges and Solutions
Over the last 10 years IT Application outsourcing with off shoring has been growing in size and volume, an indication that organizations have been benefiting from outsourcing. However, there are projects and deals that have been rolled back and organizations have been hurt due to vendor's inability to deliver quality product on time. This article addresses how organization can do an effective IT application outsourcing and not get trapped into standard headcount replacement by cheap labor pool. The article brings out perspective from the Authors; Vendor manager has worked for 12 years for outsourcing companies, managed large teams/project for outsourcing vendors and the customer who has championed outsourcing successfully in his organization. The article brings out the challenges that IT organizations face today in outsourcing effectively and successfully and how can they address these challenges.
A business will always try to produce at the least cost and sell it at the highest cost to maximize the return to promoters/stakeholders. No wonder that outsourcing in some form has always been present since ancient time when people traded goods or services. In the modern times, with communication cost coming down and availability of large pool of educated labor force in a developing country, IT application outsourcing with off shoring started to take place. The application outsourcing started with Year 2000 problem in a big way when industry ran out of resources and a problem that needed attention before the time ran out. Over the time, outsourcing vendors based out of India have established themselves and have grown in size many folds (The employee strength of Infosys's # rose from 1100 in 1996 to 91,187 in 2008 Apr, the figure for TCS is 3000 to 111,407 in 12 years, and for Wipro 3000+ to 82,122) and along the line have built credibility and capability to deliver large projects as well. The number indicates that outsourcing in general is working. Let us look at closely what are the challenges that IT organizations face with outsourcing, how it impacts them and what they can do to address these issues.
Current IT Projects are more complex compared to Year 2000 projects - Year 2000 projects were simple in nature. One would just review the source code base offshore and provide the fix. Completing these projects didn't require writing new software or working with new technologies. Nor did it require the domain or application knowledge.
All projects today however require working with new technologies, deep domain knowledge, other interfacing application knowledge and experienced staff. While IT vendors have done a good job of training their personnel in new technologies, but biggest problem faced today is lack of personnel with requisite knowledge as there is high attrition among these skilled labor.
IT vendors have tried to answer some of these problems by having vertical units aligned to a particular segment of the business and specialized domain within the same. However this also doesn't solve the problem as these trained people would not have enough knowledge of an organization's application landscape and domain.
One of the ways in which IT organizations can address these challenges is by training their employees on new technologies. These employees who already know application and adding domain experience will make them subject matter expert in a short time... CIO and senior management should plan to have trained employees in each technology and each application. IT organization can form center of excellence within organization for different technologies and identify key personnel to meet the organization's requirements. Center of excellence can be around technologies (J2EE, Mainframe, Reporting, and EDI) as well as around business processes. Team members from Center of Excellence (CoE) should play key roles as lead or architect on large projects.
IT organizations don't have any baseline productivity and quality metrics
IT organizations can define process and capture the productivity data for their own organization and use the same to manage outsourced vendor's work. IT organization should train their employees on estimation and the quality processes. The same core employee group should participate in estimating all projects that goes out for "Request for proposal" with built in quality & performance assurance with standards and best practices.
Unlike quality of many products, quality of software should not be just tested by how it functions but also how it has been designed and coded? A best way to do is to define either own internal team to have review at each stages of system life cycle technical approach, design and code, performance test before it gets into production or have another vendor review the work of other vendor. This will ensure good quality of code and reduce subsequent maintenance cost.
In our experience, this worked very well with one of the core application at APL that was completely being rewritten where different vendors played different roles i.e. one vendor did the design work, other vendor did development work and another vendor performed independent review and testing. Obviously this requires a customer representative to play a key role to keep the teams from different vendors balanced. IT organizations would get pushed by vendor companies since they would like to perform end-to-end engagement as it sometime helps them hide the issues for example, development team might ask the testing team not to log many defects or ignore some cosmetic comments on code review or some bad design. This also requires IT organizations to write RFP very clearly with scope, acceptance criteria and responsibility for different vendors well documented.
A Fair Price
To make sure that IT organizations are paying a fair price while getting the project done thru fixed price engagement, IT organizations should also calculate how much are they paying per hour of effort to vendor based on their own estimate. For example, a simple high level calculation shows how IT organizations might be paying more than USD 63 per hr cost of the project. Once the vendor companies add cost for their management and fixed price premium/risk premium, the cost per hour for the project will go up beyond USD 63 per hr.
This exercise will help the IT organization in negotiating the price better with Vendor and also understand the true cost of executing the project. Cost per hour can be higher if we add other cost e.g. Project management, user training, rollout, and other internal resources within the IT organization. The build and unit cost is small compared to overall project cost where outsourcing is effectively utilized.
Our goal should to get the other task done more efficiently with reduced onsite ratio without sacrificing the quality. Looking at the table below, it is very clear that to get efficiency out of outsourcing; organizations have to look how to move some of requirement and design activities to offshore. One way to do is that to move low level design work offshore and ensure that people performing requirement and high level design rotate to offshore to make knowledge available at offshore.
% Effort distribution across
software life cycle Onsite Offshore Onsite Cost @75 per hr Offshore Cost @ 28 per hr Total Cost
Requirement Gathering and Design 30 100% 0 $ 2,250.00 $ - $2,250.00
Build & Unit Testing 50 20% 80% $ 750.00 $ 1,120.00 $1,870.00
System Testing and Implementation 20 40% 60% $ 600.00 $ 336.00 $ 936.00
Total Cost before buffer $5,056.00
Buffer @ 10% $ 505.60
Fixed Price Premium @ 15% $ 758.40
Final Cost to IT Organization $6,320.00
Cost per hour $ 63.20
IT vendors have grown at fast pace and faces high attrition
This would mean that someone who was working for an IT organization 18 months back might not be working after 18 months. When a new person comes on board, the person takes time to learn the application domain, environment and technology and essentially might not be even 80% productive as outgoing person for first 3-6 months? On top of this, IT outsourcing vendors face around 14-18% annual attrition rate compared with a very low attrition rate within USA in IT organizations.
To put this in perspective, if an organization today has 400 vendor personnel deployed then after 3 years probably less than 100 person might be performing the same role and after 5 years probably 100 personnel among the first 400 people might only be around. The above number is arrived on basic calculation of 14% attrition per year would force 150+ people to move out of Vendor company during the five years and other 150 people would get promoted and will move to different functions and customers within the Vendor organization. This situation poses challenge to IT organizations in terms of loss of skills/knowledge, higher cost of operating IT .This is a huge challenge for both the vendor and IT organization. This is a hidden cost structure which does impact productivity and effectiveness of IT organization. This does put an unnecessary burden on the Subject Matter Experts (SMEs).
It was addressed at APL by defining a certification plan (a plan to assess new person post transition on every parameter (application, technical and environment knowledge) for each individual replacing the outgoing personnel and training timeline was extended from standard 2 weeks to 6 weeks.
IT organization should also define an agreement whereby vendor organizations maintain 15-20% buffer resource at no cost to IT organizations to meet turnover (including change of roles within the customer engagement or within the vendor organizations as well as attrition) above 8-10% per year when the engagement is performed in Time & material or staff augmentation model. This would ensure that impact of fast growth of IT organizations and high attrition doesn't impact IT organizations is minimized.
The buffer resources can fill up when someone from existing team goes on long vacation and therefore can generate revenue for Vendor Company while shielding the IT organization partially against any unforeseen attrition. This would be a win-win situation for outsourcing vendor and the IT organization.
The other way to address this issue is to define work packet and manage the engagement based on SLA around productivity, quality. Note of caution here is that if IT organization doesn't have it's own baseline productivity and quality then it has to live with what vendor organization comes up with and it has no way to know whether it is getting appropriate productivity and quality in other words best value for money.
IT organization can also help manage the account team better manage the attrition by having onsite and offshore rotation and building relationship with team members and organizing team meetings. Other actions to include organizing social gathering /job well done gifts at onshore and offshore. For example, an IT organization having 100 people working in onshore/offshore model (an annual budget of approx 10 million USD) can spent USD 5000.00 towards team building can greatly enhance the outlook/perception about the client and in turn reduce attrition. The return on this investment is huge as even if this reduces one less attrition in the group will provide return of more than USD 5000.00.
Resource Qualities of Vendor companies are declining- IT industry is knowledge industry. Productivity varies a lot based on resource and experience. Hence poor quality of resource will directly increase the IT cost of IT organizations or in other words might deliver less value comparatively for every dollar spent.
A Decade of Change
Ten years back, IT outsourcing vendor from India had the opportunity to hire top notch talent from premier institutes only. However, the equation in India has changed over last ten years. While 10 years ago, the total requirement for IT companies would have been in the range of 3000+, today it is in the order of 200,000+. This has created huge supply-demand gap for quality and trained resources in Indian market and a challenge for IT outsourcing vendors including multinationals trying to establish it's presence in India. While 10 years back if an organization got 10 personnel from these outsourcing companies, it was very likely that managers were extremely happy with each one of the individuals or at least 8 out of 10 resources, today out of 10, may be there are 2 or 3 resources that create the same level of awe to managers and customers. This in turn reflects the lower value add to customer organization per vendor resource deployed.
Outsourcing IT vendors have tried to address this issue to some extent by strengthening the training process, mandating technology training and requiring certifications per year and so on but the issue of poor quality of staff remains.
IT organizations should try to perform either fixed price projects or should put the candidates thru interview process by their own organization in case of Time & Material engagement or perform engagements based on SLA (Service Level Agreements) to address the issue of not getting so desired resource quality. Project level outsourcing works well with price not to exceed clauses where Outsourcing IT vendors can manage the work and do blend the resource skill mix. The support level work need qualified and trained resources to address application issues. Most of the support work is considered as helpdesk work with scripting requirements. Lot of IT support work requires knowledge e.g. EDI mapping error, application interface issue, performance throughput issue.
The value of dollar with respect to Indian currency is declining - Outsourcing exposes risk to foreign currency fluctuation and value of dollar. Current trend and trade deficit have been putting pressure on dollar and eating up cost advantage of outsourcing and it has to be seen how long outsourcing can sustain. Indian currency (rupee) has been rising. Last year alone, the Indian currency has risen more than 12%. This in turn is putting pressure on Outsourcing IT vendors based out of India. While a currency's appreciation is linked with higher productivity, this is not the case in IT (at least nothing documented). Therefore, outsourcing vendors will negotiate rates or at times even change the working hours.
For example if offshore is working 8.8 hrs a day, the organization might increase the offshore working ours to 9 hrs a day, an effective increase of 2-3% increment in addition to rate increases. Vendors typically do not provide increased per day productivity per vendor resource to account for this increased hours & cost.
IT organizations have very little to control over it and hence the organization should move either to SLA based or fixed price based engagements to mitigate their risk of increasing cost or request for data to substantiate increased productivity
Salaries of IT personnel in USA & India have been rising
Also the cost of IT personnel experienced with new technologies is higher and even vendors would charge a higher rate for their personnel experienced with newer technologies for example people experienced in J2EE, Data-warehousing etc. Also vendors might not provide people with lot of experience in newer technologies to justify the higher rate. For example out of 50 J2EE developers deployed in the project, 30 odd developers might have around 1 year experience or even less experience.
No Clear Solution
There is no clear-cut solution for this problem. I think that this problem can be jointly addressed by industries and government by spending money on educating people and attracting them to IT industry. I agree with Alan Greenspan as he has mentioned in his book, that once we have enough home grown educated professionals and immigrant IT personnel, the salary level will come down or at least it will stop increasing year after year the way it has grown over last 10-12 years.
Organizations can train their own personnel on newer technologies to address the issue of higher cost of people experienced with newer technologies. Experienced people learn by association new technologies quickly. For example, if someone is experienced with one database say IDMS then it is easy to learn another database say DB2 and same applies to programming language (People experienced with one language says Visual Basic or C can learn Java quickly since many concepts of programming remains same across the language). This would also enhance morale of the in-house employees.
To summarize, an IT organization planning to outsource application development and enhancement work to IT vendor should consider following 10 steps:
a) Define processes and systems to measure own productivity and vendor's productivity and quality.
b) Establish center of excellence within organization on various technologies and train employees on various technologies.
c) Train people on estimation to perform estimation for outsourced project work.
d) Define SLA around productivity and quality and associated penalties and manage vendors by SLA.
e) Perform work in fixed price engagement where ever this can be achieved and should compare the cost per hour that it comes if it would have performed the work by internal employees be performing estimates by IT organization's personnel.
f) Always invite the competing vendors for RFP. Float all fixed price projects thru RFP to get the best value for the money
g) Maintain Subject matter experts (SME) knowledge within the organization and assign SME and people from center of excellence to provide oversight in the project.
h) Engage another vendor or own employees to perform design quality, code quality, and performance check.
i) Continuously measure productivity of internal employees and that of vendors and improve the one lacking behind.
j) Continuously reduce and /or eliminate support cost to self fund this activity and create additional capacity within IT organization.
k) Finally spend some money for team building for employees and vendors to keep them engaged and in effect help the organization reduce/manage attrition better. After all happy employees deliver more in knowledge industry.