“We want to create X but we can only afford to make Y”.
From Samuel Asher Rivello of RMC: …Or “How can we lower our current costs? Our current risks?” These are common conceptual starting points for considering outsource development in Software Development. For many companies the bottom financial line is most important. For others of us, there are other reasons to buck convention and think outside of our borders. I do not challenge the traditional reasons for outsourcing. Rather there are myriad resources about that. I offer some complimentary thoughts;
Non-Bottom-Line Reasons for Outsourcing Your Software Development
- Live In Paradise: Noone says your second office needs to be in a polluted city in North India. There are plenty of beautiful temperate mountain climates (Bogota, Cusco, Mendoza) and beach-side warm climates (Costa Rica, Panama, Brazil) that can make a great place to visit or stay long term as you expand. These locations have the people and infrastructure to support you.
- Challenge: There is a reason you didn’t stop at 5 employees, 100 clients, and a 6 figure net income. Challenge yourself. Meet new people, enjoy (and pull your hair out about) the legal differences worldwide
- Cultural Exchange: Targeting Latin America? Targeting Asia? Employees in those markets, at all levels of employment, can help you focus your product, service, and marketing to meet the needs of your audience.
- Access to World Class Capabilities: World class providers make extensive investments in technology, methodologies, and people.
- Benefits to Existing Employees: I’ve consulted with several companies who attract new employees and reward existing ones in the home offices with a 1 week ‘Paycation‘ each year. This new trend allows an interested employee to receive compensation to work a full or partial week from an exotic location. Employees get reinvigorated, but maintain productivity. This is more appropriate if you have a second office of your own, rather than just use a vendor in foreign soil, but it is a great ancillary expansion.
- Improve Company Focus: With your vendor executing tasks, you can free your current staff and mindshare to other things. Innovation, experimentation, R&D, more!
- Improve Your Personal Focus: Work less, experiment more. Bring more of your personality into the worksplace.
Whether your reasons are financial or otherwise here are some great resources to learn more about outsourcing. From Accelerance:Â In the Outsourcing in Paradise webinar Jim Tooley explains how his company calculated the total cost of developing software in Silicon Valley and in his companyâ€™s Indian center in Bangalore. The added cost of using programmers offshore was offset by the much lower cost of their salaries. Itâ€™s a similar calculation when outsourcing, actually simpler because you need to consider only the rates charged by the vendor without concerns for facilities and other G&A expenses.
To compute your total cost of outsourcing consider these factors:
- Travel Costs â€“ air fare, hotel, meals plus the indirect costs of travel time, jet lag recovery and time away from the office and home.
- Requirements & Specifications â€“ the time needed to create better documentation compared to direct and informal communication typically used with local programmers
- Management Time â€“ additional time needed to ensure milestones are achieved and communications are clear
- Ramp-up Time â€“ recruit and train the programming team
- Attrition & Time to Replace Programmers â€“ reflecting the competitive market for programmers and the ability to replace those that leave
- Wage Inflation â€“ the increase of cost over time (if any)
- Exchange Rate Risk â€“ if you are paying for your programmers in something other than dollars or your home country currency
Jimâ€™s company was achieving cost savings with their offshore center in Bangalore. In their case the total cost of offshoring compared favorably to hiring programmers in Silicon Valley.
But there were several situations where the offshore programmers did not perform as well as expected. Jimâ€™s conclusion was that the differences in physical distance, time zone and culture were a significant inhibitor of productivity when working on new software features using an Agile and collaborative approach.
As you will see in the webinar, Jim concluded that a nearshore approach was better suited to these situations. His goal was not to replace the Indian center but to use a new global location better suited to the kinds of programming assignments he needed to accomplish. And the alternative of hiring more programmers in Silicon Valley would be at a cost very difficult to get approved by management.
To get started quickly, Accelerance was able to give Jim a list of pre-qualified nearshore vendors that were experienced in Agile development and close in time zone. Very quickly he was able to discover that technical skills, English competency and cultural affinities were very strong.
However, the hourly costs were higher than India (and other places in the world).
Out came the spreadsheet and the total cost of nearshore outsourcing was computed. The reduced travel and excellent communication easily compensated for the higher hourly rates.
Another way to compare the cost of outsourcing to different programming vendors and to hiring your own programming employees, is to compute an average effectiveness or â€œefficacyâ€ of a programmer in each team or location.
Jim concluded that the efficacy of the programming team in India was about half that of his Silicon Valley team. Itâ€™s not personal â€“ efficacy is heavily influenced by the overall environment at each location and distances involved. The efficacy of the nearshore team in Costa Rica started at about three-quarters of the Silicon Valley team and improved quickly.
Are we saying that everyone should use nearshore outsourcing? No. As Jim acknowledges, they still do great things with their programmers in India. And of course there is great programming talent the many other countries in between!
Cost is one factor in making your decision. Just make sure you consider the total cost in selecting your outsourcing destination.