By all accounts, outsourcing is very "in" these days. Peter Fingar, author of the book Extreme Competition, claims it's the only way for businesses to survive and compete in today's global economy.
To begin with: Is it "outsourcing" or "offshoring"? Forrester senior analyst Dave West defines offshoring as crossing geopolitical barriers to hire a third party to do work for you. He noted that "outsourcing" doesn't necessarily imply a foreign country. Whichever term you prefer, the objective is to leverage lower human capital costs and/or a larger talent supply. Today, virtually any type of work is outsourced: manufacturing, support, development, testing, training, and even legal work. In the software world, the buzz continues for business process outsourcing (BPO) and all types of application hosting and customer support.
Out of the Question
Danny Briere, CEO of marketing software provider mBlast (www.mblast.com), says, "Back in 2000, we lost seven months and $1 million1 trying to work with an outsource company that had its project management and developers based in the U.S. There was so much non-coding overhead, and the path they were going on would have cost us a fortune in time and money to get the product to market."
Briere continues, "We abandoned that work and had to start from scratch. However, despite this painful experience, we still needed to find engineering resources that were competitively priced and could help us develop and maintain our system efficiently. Now we use 85 developers in Pakistan, India, and Ukraine and have management in each area that reports directly to our CTO in the U.S. We've been able to drop our cost of programming by 90 percent or more. This allows us to plan the launch of a new product this fall that would have likely cost three or four times more had we not used an outsourcing model."
Pioneering Outrage and Outlay
While larger organizations were already using offshore resources back in 2000 to provide customer support and application maintenance, Briere and a handful of other brave leaders saw offshoring as a means to cheaply develop new applications. In hindsight, the industry's processes were not yet mature enough to handle the inherent complexities and interdependencies of people, culture, code, and technology.
Most early offshore software development used India-based resources that were plentiful and significantly cheaper than their U.S. counterparts. Despite the well-educated, English-trained talent, the thick, "foreign" accents, and time zone differences made communication between Indian developers and U.S. clients quite difficult.
The relationships also faced significant process challenges. Both sides suffered from a lack of discipline that neglected the architectural planning required when building and scaling any type of software.
Culturally, everything from mismatched holiday schedules to mismatched expectations regarding accountability and process control led to seemingly irreconcilable problems. Projects were too far along by the time problems were found, and corrections were costly and sometimes not even possible, as in the case of mBlast.
Lawsuits abounded, handled by the type of highly skilled (and therefore expensive) attorneys who could understand and explain a lack of functionality or improper coding practices to non-technical judicial bodies. Even when the lawyers won the right for their clients to break their contracts and recoup at least some of the investments made, the overall results of these outsourcing experiences were wasted time and an abundance of frustration.
One outsourcing provider, emergn (www.emergn.com), was part of the British Telecom (BT) initiative to provide BT the ability to design, deliver, and configure new services to its customers and create a single-service repository in order to give a superior customer experience. At initiation, the plan was for the project to follow a very traditional software development lifecycle - requirements gathering, analysis, design, development, and then ongoing testing and refactoring.
A team of 200, structured in functional silos (e.g., architecture, analysis, design, development, and test), communicated via documents across time zones and locations, including Ireland, England (Swindon and Bath), and Pune and Hyderabad in India. The planning for the whole project was based on these documents.
Unfortunately, very little real communication and collaboration took place, which made it difficult to produce meaningful progress and high-quality deliverables to the given specifications. Consequently, BT was forced to look for a new way to design, develop, test, and implement the software.
Outmoded Software Development
Luckily, a lot has been learned about better software development over the past decade. While engineering managers were arguing the merits of waterfall-based versus time-based methodologies, manufacturing companies looked to adopt International Organization for Standardization (ISO) and Lean standards as well as improve overall security and compliance. This meant that IT shops had to develop more formal processes wherever software was being built, maintained, or simply supported.
Plus, Web 2.0 brought us many new collaboration technologies, including Software as a Service (SaaS), cloud computing, open source, blogs, wikis, social media, and an overall perspective that software is no longer something that could or should be built behind closed corporate doors.
The challenge remains to find the balance between cost, time, and control in any software development environment - especially one involving third-party resources.
New Tools, New Outfitting
In response to this challenge, a very different model and process are being embraced using software expertise in areas such as Eastern Europe and South America, and with progressive groups in India.
Spurred on by the adoption of Agile methodologies, U.S. independent software vendors (ISVs) are requiring that their offshore partners participate in rigorous processes, such as daily stand-ups, burn-down charts, and face-to-face meetings via videoconferencing. This allows the U.S. "client" to be hands-on even if the work is being done on the other side of the globe.
Tools such as Skype, instant messaging (IM), wikis, and GoogleDocs are being used to collaborate in this virtual, real-time environment. Not limited to big companies with existing IT staff, "Outsourcing 2.0" is already a common way for startup software companies to get rolling with minimal cost and risk. The tools are mostly free, and the development resources are cheap enough to get a quick proof of concept that can be used to attract first customers and early investors.
As an example, New Jersey-based jaccomo (www.jaccomo.com) decided to use developers in the Ukraine and Moscow after it hired a U.S.-based but Ukrainian-born CTO. jaccomo provides software that helps mid-sized financial services companies efficiently build business processes so they can manage compliance and other business-critical transactions. Because of the "bet your business" impact for its clients, jaccomo's SaaS-based system requires carefully orchestrated development and high-quality results.
jaccomo president Bob McGill says he saves anywhere from three to five times the cost for the highly talented developers he needs, and he hires as his needs expand. McGill admits that a key to his company's success is the careful vetting of talent as well as ensuring a well-managed apprentice program and maintaining developers who have long-term experience working with their specific code and customers.
To further integrate all team members, the company follows a documented software development process that includes steps for end-user input and validation, as well as functional and technical design. jaccomo's CTO talks constantly to the developers, and weekly team meetings happen via phone or Skype. The company arranges for in-person trips two times per year; one brings the foreign developers to the United States, and the other takes U.S. management to Eastern Europe.
Never Outgrow the Process
For their part, some outsource firms have developed specialties in particular levels of the market. For instance, Talentica Software (www.talentica.com), a software development provider based in Pune, India, targets small and midsized organizations. As its marketing literature states, "We specialize in setting up dedicated development teams for small and medium-sized software product companies across the USA and Europe. Talentica provides all its customers dedicated teams that are hired specifically as per their needs, have a strong sense of ownership about their products and are comprised of the best talent available. This ensures that they (the companies) can conserve cash while continuing to innovate and build better products, faster."
On the other end of the spectrum, outsourcing giant Cognizant (www.cognizant.com) manages 65,000 developers and IT professionals on behalf of many of the Standard & Poor's 500 companies, managing 5,000 projects at any given time. Finding shortcomings in the older methods, Cognizant undertook a companywide initiative to improve communication between consultants and clients.
"Cognizant 2.0" uses a Web 2.0 platform that enables employees across its far-flung global delivery network to share knowledge using blogs and wikis, and manage projects using consistent tools and process discipline. For instance, the platform presents just-in-time templates to actively guide project management activities. Project metrics are presented in real time from a configurable user interface that lets managers monitor status and head off delivery problems before they occur.
Meanwhile, from the same interface, Cognizant associates can blog, search for artifacts, and identify appropriate project resources and subject matter experts to deliver projects with greater speed, precision, and quality.
And that's not just for the sake of the client and prospects. Malcolm Frank, Cognizant's senior VP for strategy and marketing, notes that "employees who actively blog and share knowledge on Cognizant 2.0 are seen as three times more likely to stay with the company than those who don't."
Cognizant also realized that information availability isn't the only answer to ensuring project alignment and control. To help ease communication among parties and guarantee client alignment, it uses a proprietary technique it calls the "Two-in-a-Box (TIB) Client Relationship Model." Cognizant embeds personnel with demonstrated domain experience in the client organization to help drive IT strategy. A senior manager on Cognizant's client relationship team coordinates operational requirements and service delivery from Cognizant's offshore delivery units.
Wisdom of Outside Crowds
Another significant outsourcing model is "crowdsourcing." As open source products successfully utilize volunteer developers and self-service support, crowdsourcing pays virtual talent using a consultancy or agency model. To orchestrate a "crowdsourced" initiative, someone or some company plays the role of agent and project manager to organize the virtual team on behalf of a client.
uTest (www.utest.com), for example, provides top software testers from around the world that precisely meet a client's requirements. "If the client needs specific types of testing, such as unit or usability testing, we find the best possible people to do that. If they need people in different places to validate connectivity, language, or mobile variables, we can do that too," says Matt Johnston, VP of marketing and community at uTest.
Founded in August 2008, uTest draws from a pool of more than 23,000 testers who have been acquired via word-of-mouth from 163 countries. Many of its testers are moonlighting from their regular testing jobs. Being a uTest consultant allows them to earn extra money and, perhaps more importantly, helps them gain valuable professional skills working on new products, using new tools, and interacting with other testers from around the world.
The client company thus benefits from great talent without the expense of benefits or administrative overhead. In the testing world, it is widely known that there are periods of downtime spent waiting for code to be done and ready for testing. uTest clients don't pay for that downtime, so overall rates are cheaper, and they can scale their testing teams up and down as needed.
uTest acts as the agent to procure the proper talent, administer payment, and ensure that all parties are satisfied with the arrangements. VP Johnston notes that the key to a successful engagement lies with uTest's on-staff project managers, located in the United States and Europe. They act as the key contact for the client and make sure that the projects are well-defined, tracked, and managed.
Outstanding Practices
Clearly, what makes these new models of outsourcing succeed is a combination of newer development methodologies that ensure smaller, discrete units of work that can be closely managed, monitored, and corrected before problems become too large to rectify.
However, Agile and other time-based methodologies aren't the single solution to efficient outsourcing. Alexei Miller is an executive vice president at DataArt (www.dataart.com), which specializes in financial services outsourcing. He observes, "What is often missing is a much deeper change in thinking about software - the quality, the adaptability, the process of how systems evolve together with business needs, and the timing. To work most effectively, Agile principles must be carefully adapted to each particular situation, and therefore are implemented much more efficiently when the outsource provider is very experienced not only in the principle itself, but also in the client's specific domain."
In almost every success story, domestic management is working intimately with an assigned foreign manager to share detailed software as well as business plans. Web 2.0 tools and social networking are being exploited for their seamless sharing of information as well as the transparency with which they convey the competence of client as well as consultant. And despite most developers' preference for working in isolation, many companies using outsourcing highly recommend some weekly, monthly, or at least quarterly person-to-person interaction to help build relationships and teams.
Every one of the companies interviewed noted how important it is to carefully vet new outsource consultants and to provide adequate training and ongoing communication opportunities. And because clients and consultants have more freedom to publicly air problems with the project - not to mention abandon the relationship entirely - both client and consultant need to stay on their best behavior. As uTest's Johnston notes, "In the global outsourcing economy, for both outsourcer and outsourcee, reputation is a second currency."
Forrester's West adds, "Establishing a close partnership with your outsource provider is key - in many cases, even sharing business risk and reward at an equity level helps assure that there is a commitment to develop successful software and processes rather than just the milestone of completed lines of code."
Returning to the BT/emergn project mentioned earlier: After changing the organizational structure, delivery methodology, and the supplier and contracts, as well as improving attention to engineering and shrinking the development team to just under 150 people, the initiative began to perform at a much higher level. Defects were reduced by more than 95 percent, and £8 million were saved to deliver the same amount of work in the next year. Within just eight months, the team was able to deliver every two-week iteration and 90-day release on time, consistently.
In response to global competition, India has already pared back its software development hourly rates to remain competitive with its Russian, Ukrainian, Argentinian, Mexican, and other global competitors. In combination with the lack of U.S. investment and economic downturn, the supply of developers is relatively high, driving down hourly rates as well.
Some analysts feel that due to the unemployment rate in the United States, there is a rich, lasting supply of competitively priced freelance programmers located onshore that are available for outsourcing any and all aspects of software creation and maintenance. If you are willing to be disciplined in your development but open-minded in your approach, it may be the best possible time to hire outside development guns to build your next killer app.
Alyssa Dver is the author of No Time Marketing: Small Business-Sized Steps in 30 Minutes or Less and Software Product Management Essentials. She can be reached via www.MintGreenMktg.com.
1 In a later settlement, mBlast regained 70 percent of that investment.