|
|
|
|
In the world of software development outsourcing, there is a third reason to outsource. The available pool of talented programmers continues to shrink in the US, while outsourcing countries like China and India continue to develop bright young talent in growing numbers. Outsourcing gives US based companies the ability to take advantage of this talent to help their organization. Nobody understands this better than Randy Walker, head of outsourcing for the Asia Pacific region for IBM, one of the largest companies to embrace the concept of outsourcing. In a July 28th, 2006 article in BusinessWeek, he had this to say about the benefits of outsourcing, "...first it was labor arbitrage. It was, what's cheaper than the US? But now its all about skills anywhere in the world, be it Russia, Dalian [China], India, Philippines...customers are demanding the change. They are demanding more value beyond labor arbitrage. It's a different level of skills and talent. Everyone expects cost savings, but they don't want 'cheap', they want 'value'." Software development outsourcing is so popular because every company can use software to increase productivity, while so many businesses have core competencies that lie outside this space. According to OffshoreIToutsourcing.com, over 40% of all Fortune 500 companies outsource their technology. Proper Outsourcing MYTH: Software outsourcing does not work It is no surprise that some companies have failed in their attempts at outsourcing. In many ways, they are more complex projects to manage than a typical technology project. A neoIT Study conducted in January 2005 "...estimates that in 2005 as many as 40 percent of global sourcing projects may fail to achieve desired results." A successful outsourcing project depends, more than any other factor, on the proper structure. Like a solid house, it all begins with the foundation. Without exception, every outsourced software project should have a local presence to communicate with the client. It is impossible to fully understand the requirements and expectations without this. A local presence can be a project manager, business analyst, or team of resources to handle client interfacing. This presence and the client must have the appropriate face time to clearly and easily communicate requirements and software. Advances in web-based communication have made it possible to meet remotely, so as long as the client and vendor are in similar time zones, they can communicate via phone and chat using online meeting software. With this face time, the project manager will be armed with all the knowledge they need to create the proper software for the client. Only certain phases of an outsourced software project should be completed by an offshore team. Software analysis and design can NEVER be outsourced—these phases must be handled by the local presence because they deal with the intricacies of effective communication. When companies describe software requirements to a vendor, there is often non-verbal communication and back-and forth collaboration that can only be understood by a local presence. Let’s look at the standard 5 phase approach for completing software projects, examining which phases can be handled remotely:
Many companies try to bypass the local presence and work directly with remote outsourced teams. This is the primary cause for failures on an outsourcing software project. When working with an offshore software development team, there are several challenges to overcome:
Use an outsourcing company with strong ties to the remote team and rigorous control processes in place. It is important to work with an outsourcing vendor with enough history and process with their offshore team to overcome the above challenges. A good outsourcing company should have at least 2 years experience working with their offshore team. This is enough time to learn the differences between languages, national and corporate cultures. It is also important to use an outsourcing company who has had their local resources visit the offshore team for the proper face-time. Personally, I have been to India to meet with our offshore team, and it makes a world of difference to communicate face-to-face about software projects. Finally, and most importantly, there should be a thorough an rigorous control process in place between the local presence and the offshore team within an outsourcing company. These two entities should have very detailed processes for:
Of course, all of these processes are necessary on a regular software development project, but they are even more important when remote developers are used. Candidates for Outsourcing MYTH: Software outsourcing is not right for my company Some people think only large companies have the ability to benefit from outsourcing. In reality, almost every company can benefit, no matter what their size. If a company's value propositions and core competencies lie outside the software development space, then that company can benefit from outsourcing their software needs. According to the Global Outsourcing Report, "Three-quarters of U.S. companies outsourced some or all of their information technology activities in 2004, and that percentage is likely to increase this year..." Almost every kind of software development project can be outsourced, no matter how big or small. Obviously, the larger the project, the more cost benefit a company will receive from outsourcing. However, this does not preclude small, independent projects from being successfully outsourced. If a company has a software development project that will consume internal resources time and effort, then an outsourced company can likely perform the same work at a lower cost. Outsourcing and ROI MYTH: Outsourcing does not save money We have all heard the horror stories from colleagues about an outsourced project that failed and ended up taking much longer to complete than it would have if it had been done in-house. When thinking about outsourcing and ROI, the benefit of using lower-wage resources can evaporate if the project takes much longer to complete than originally planned. However, with the appropriate structure described above, a successful outsourced project can save enormous amounts of money. According to OffshoreIToutsourcing.com, "companies who outsource their technology save between 50% and 70% on software projects." Let's analyze the average hourly cost of an internal resource versus an offshore resource, and how that cost is factored into a software project. According to Forrester Research in May 2005, "To get high-quality service levels from top-tier vendors, customers should expect to pay in the $24 to $30 per hour range for offshore labor..." From my experience, a "high-quality" offshore resource is usually a senior programmer at $30 per hour. Compare this to a senior programmer in the US, who likely makes in the range of $80 to $90 per hour. My experience with outsourcing has taught me that 1 hour of offshore work does not take the place of 1 hour of work by an internal resource. After factoring in the cultural, language and management barriers associated with using offshore resources, replacing 1 hour of work by an internal resource usually translates to 1.25 or 1.5 hours of offshore work. In short, it takes an offshore developer with the same level of competence 25 to 50% longer to complete a task than it would for an internal resource, holding all other factors constant. This would bring the cost of an offshore programmer up from an average of $30 per hour to a more accurate estimate of $37.50 to $45 per hour. Yet even factoring in this extra cost, a company can expect to save in the range of 40 to 60% for EVERY hour worked on the project. It is hard to argue with those savings, even when an offshore programmer might work slower than an internal resource. Now let's talk about ROI in terms of a company's overall annual IT spending. Companies usually measure their IT spending in terms of a percentage of sales. Most companies in the high growth stage, according to the Gartner Group, will spend between 12% and 16% of their sales on IT. By comparison, Amazon spent 7.8% of their sales on IT in the second quarter of 2006, according to Reuters.com. Compare these numbers with one of our clients who make great use of outsourcing. This company is an online supplier of health products. Because they are an online-only business, their technology plays a huge role in their overall operation. Yet they still chose to outsource their entire technology operation. We structured a team that includes a US based project manager, an offshore project manager, two software programmers and a local testing resource. This team manages, updates, and maintains 13 different websites that take orders all over the world. This year the company expects to gross 10 million dollars in sales, while their overall technology expenses should not exceed $350,000. This high-growth internet-only company manages to build their business only spending roughly 3.5% of sales on technology. Among other things, the savings are derived directly from the cost-effectiveness in using offshore resources. Conclusion Now that we have looked at the various myths, pitfalls, risks and rewards associated with outsourcing, it is easier to understand how often these projects can go astray. Outsourcing is not easy. But when applied by experts who use the appropriate structure and processes on a project, a company can enjoy all the benefits that outsourcing can provide: high quality, large cost savings, and increased ROI. |
|||||||||||||||||||||||||||||