Selecting the right kind of engagement model with your offshore programmers (or the company where they work) is the best way to ensure you get more dynamic engineers that will deliver your software with the level of quality you would expect from your own software engineers in the U.S.
Even excellent project management will feel like pushing a rock up a hill when your global programming team doesn’t perform well. My last post described that the huge number of engineers available in India and China aren’t always the kind of programmers you want. In fact only 10% in China and 20% in India are the dynamic engineers suitable for global programming projects.
To get the best global programmers you want an engagement model where you have more control over the programmer hiring process and the on-going management of the software development. In some cases, you may have to trade-off control with your budget and ability to manage the software development process. Below are the six engagement models most commonly used.
Choosing the right offshoring engagement model
is a key to getting “dynamic” programmers
From left to right, each model is capable of handling an increasing level of resources applied and your control.
Freelancers: You get complete control over the programmers hired, but you have to evaluate each one individually. It is common to hire several on a trial basis, and even have them create the same software, and then keep the ones that do a good job. Managing more than 3 freelancers at different locations and time zones is very challenging! Thios model is good for small projects that last no more than a few months, or longer if you can get the freelancer(s) to commit.
Body Shops: where you have very little control over the programmers hired. This type of vendor is famous for giving you transactional programmers cheap, but without management or software development process. You have to tell them what to do and manage them yourself. At least they’re in the same room! This is okay if you have the time and resources to manage your programmers from a distance.
Software Factory: is a vendor that bids on your software project on a fixed-price basis where you generally have no control over the kind of programmers that are used. Your specifications need to be as complete as possible and have a clear definition of what it means for your software to be finished. Some disreputable vendors will deliver some software for the first several progress payments and then drop you as a client if you make many changes or have no clear definition of what “finished” really means.
Yet, this is one of the most common forms of offshoring. It works well if you have a well-specified programming project and the budget to try several vendors.
Offshore Development Center (ODC): is a vendor that gives you a dedicated team of programmers and where you can usually participate in the hiring interviews. You pay a monthly fee for each programmer and their activities are often managed by a team leader you also help select. Having an ODC is good for developing multiple releases of the same software application where consistency of the programming team improves productivity over time.
Build, Operate & Transfer (BOT): is like an ODC but with an option to transfer your team of programmers into your own captive operation or offshore subsidiary in future, usually two or three years.
Captive Operation: This is most appropriate for larger software companies that are developing complex software applications and systems needing fifty software engineers or more. You have complete control (and responsibility) for the office space, infrastructure, hiring and management of the programmers. Having your own captive center is a big commitment and responsibility. A recent trend is for larger companies to sell their captive to a local vendor to take over management.
If you are a project manager responsible for global software development then you will want as much control as possible for hiring the talent developing your software. An ODC, BOT or Captive Operation gives you the ability to strongly influence and control the hiring process. The other engagement models introduce several risks that even an excellent project management process cannot overcome.