2. Software Outsourcing is
the transfer of information systems development, operation or
maintenance to an outside firm that provides this services, for a
fee, on a temporary or long-term basis.
Can refer to relatively minor programming tasks or the handling
of a company's entire IT function.
3. (almost) Every one is outsourcing
Software development outsourcing is a $41 Billion a year market globally
"Apple is said to be planning to quadruple the amount it spends to outsource
software application development and maintenance work to India.
About $100 million is currently spent at Apple to outsource such work to Indian
companies, with the nation representing about a fifth of Apple's total outsourcing
dollars. " (appleinsider, February 14, 2012)
Who else?
6. Should you outsource?
You need every competitive advantage you can gain.
when weighing outsourcing pros and cons, consider:
1. Can someone do it cheaper than you?
2. Can they do it faster than you?
3. Most importantly, can they do it better than you?
7. Modes of outsourcing
• Staff augmentation
• Project Based
• Dedicated team
• Build, Operate, Transfer (BOT)
8. Sources for Outsourcing
Freelancers – e.g. through Odesk/Elance, Freelancer, Xplace
• Overcrowded with cheap labor from third world countries
• It takes a lot of time and effort to find the right contractors
• There is no reliable way to assess how good the freelancers are at what they do
• Need for remote micro-management
Outsourcing companies - Ness, Matrix, Infosys, Wipro…
More expensive but not just a collection of coders
9. Onshoring or Offshoring
• Cost – work, travel, management
• Language
• Mentality, culture, work ethics
• Time difference (advantage and disadvantage)
• Do the best engineers choose outsourcing as a career?
10. Outsourcing Pros
• Cost
• Access to a wide set of skills, technologies and best practices
• Flexibility in size of team, short term commitment
• Time-to-Market – possibly larger teams, less time to recruit
• Improved focus
11. Outsourcing Cons
• Communication barriers - distance, language, culture, time difference
• Lack of dedication, commitment and aligned interests
• Quality
• Productivity - lower productivity rates of developers, management overhead, travel
time
• IP risk
•“Company culture", Morale
12. You must consider outsourcing when
• Software engineering isn’t critical to your business model.
• You can build a non-critical module internally, but with a small staff you have other
essential business needs to attend to.
• One-time software engineering projects that require unique skill sets.
• You need a flexible software engineering workforce. Outsourcing is cheaper and
friendlier than hiring and firing staff.
• You have no real experience in managing technology and software development
cycle.
13. Tips
• Some of the outsourcing firms are quoting savings of 70-80% but there are many hidden
costs. Gartner concludes that savings are more accurately determined to be closer to 25%.
• One experienced $100/hr developer may well produce more value for you than five or even
more junior $20/hr people.
• Fixed price model does not necessarily save money as the supplier tries to hedge against all
risks, some that may never happen, while time & material model allow to pay only for work
actually done
• Sign a detailed agreement - deliverables , milestones, documentation, maintenance,
upgrades, IP
• Benefits of outsourcing grow with time. Don’t limit yourself to short term projects (e.g.
MVP).
14. More tips
• Even if you chose to outsource the entire software development cycle, it is important
to have a technology manager in-house.
• Have an on-site manager and not a headless team
• You can't have only star developers
• "Nine women can't make a baby in one month."
17. Will outsourcing make you less attractive
to investors?
R&D is just out of several functions in an organization.
Today, technology and tools make building a software or web product incredibly easy;
so much so that investors are no longer impressed by the simple fact that a startup
has built a product — they want to see which ones have been able to capture users’
attention and engagement.
18. Benefits of development in exchange for
equity
Start development quickly and with sufficient resources
Aligned interests
Interim CTO to ensure right people, right technologies and methodologies, accurate
planning and scheduling