![]()
On a recent flight to Phoenix, I sat next to a veteran of a four-year implementation process for a client/service policy administration system. He and his new bride were heading for Sedona and some time off. He'd been doing 60-hour weeks for years and the software package his company had licensed from a major vendor was almost operational. He estimated that they'd spent about $30m for a regional implementation of personal lines. It had almost killed the carrier — and what it now (almost) had included no Web element. They had installed an obsolete solution at great cost.
I commiserated with this devoted IT professional. I too had been there, done that years ago. But it was an awful process and one that when all was said and done wasn't worth it. In my case, my team had created software from scratch. But this carrier had bought what was supposed to be a pre-existing solution. How could it take so long and cost so much misery? You've heard these stories before and perhaps even lived through them. Package solutions sometimes aren't what they're cracked up to be. By the time you tune the package to your unique requirements it's an open question as to whether it wouldn't have made more sense to develop what you wanted right from the get-go.
But do-it-yourself system development is problematic as well. It's difficult to find and keep talent. Projects have a tendency to run over budget. Management imposes changes along the way. Scope creeps. Good project management intensions give way to crisis management. It's not a pretty picture.
You need that new system. You want to do it yourself. How can you design, code, test, and deploy that complex system — with some certainty that it will be on time and at or under budget? One increasingly popular solution is to bolt on an offshore development team to your technical staff. Once pure body shops, some offshore development companies have become very sophisticated and successful at specing and developing vertical applications — some in the financial services/insurance space.
In the last few months I interviewed three happy customers of offshore development efforts: Bill Gregory, VP at Severan (www.severan.com, toolkit for creating complete policy admin systems); Mike Feroah, president of Zebu (www.zebu.com, life case tracking Web service); and Robin Raina, CEO of ebix (www.ebix.com, agency software and services). Though the topic wasn't offshore development, each vendor executive volunteered that his experiences with offshore development had been extremely satisfying and was an important part of his development strategy.
Gregory had created specifications and turned them over to a team in India. He got what he wanted sooner and at a lower cost than would have been possible with local development. Feroah uses a team in Prague — with a member of his staff stationed full-time with the developers to help manage and monitor the process. Raina moved substantial development from Boston to India and along the way saved himself millions per year and got, he says, higher quality software.
When is offshore development appropriate? Is it really likely to save big bucks? What are the dangers? How can one prevent them? What's the best way to organize and manage offshore development projects? How do you choose the right partner?
Offshore development has been part of the technical landscape for at least 20 years. Early on, these businesses were more body shops than true development partners. But in recent years some offshore services have become sophisticated, domain savvy development companies — in some cases with deeper talent and more disciplined behavior than their onshore customers. I had an opportunity recently to talk with one such firm, FirstApex, about the offshore development process.
After two decades of providing offshore insurance and financial services development help in Japan, Korea, and the Asian Pacific region generally, FirstApex (www.firstapex.com) is trying to establish a foothold in the U.S. (Dallas). A conversation with Nag Pao, their U.S. representative and two of his colleagues in India helped me better understand how the offshore development process can and should work — and how it can benefit domestic insurance carriers.
So what's so good about offshore development? Is it the cost savings? FirstApex downplays the cost savings dimension. The savings are there, especially for American companies that open their own offices in India. They can save 50% to 60% over domestic development. Software professionals in India are typically paid $500 to $1000 per month, often a 10 to 1 ratio over domestic counterparts. But when an American company contracts with a full-service partner like FirstApex — who provides all the infrastructure and management - the savings are more likely to be in the 15% to 30% range. Not trivial, by any means, but not necessarily the primary motivation for going to an offshore development solution.
According to FirstApex, the significant advantages of offshore development lie in scalability and quality. India, for instance, has a large, well-educated and fluid population of computer professionals. Even large projects can be staffed quickly with temporary talent. This kind of flexibility simply isn't possible in the U.S. But it isn't just warm bodies that make for scalability; having an up-to-date technical infrastructure is important as well. So well appointed offshore development partners can scale productivity quickly.
And why is scalability important? Time to market. It took the carrier I described about four years to implement and deploy strategic technology. That won't work. If you can't bring a solution to market in twelve months (maybe 18 at the outside), probably you shouldn't even bother.
How does quality come into the picture? Sometimes at least, offshore services provide a level of discipline and project management that would be hard to duplicate with an in-house staff. Part of the reason is that because their labor costs are much lower, offshore suppliers can afford to fully staff projects — people to do the work of course, but also people to monitor and manage and assure quality. Full staffing — what it takes to do the job right — just isn't affordable with domestic development.
Generally speaking, it's not a good idea to create a set of specifications and then throw them over the wall to the offshore team — and hope that something useful will come back. A better approach is for the offshore group to house part of its staff in your shop for the duration of the project. These local people support the continuing communication between the carrier and the offshore development team.
FirstApex has found over the years that it's best to have the local group work with the carrier to create the project specifications, get signoff from management and then bring the specifications to the offshore development team. Once complete, the system comes back onshore for deployment, again with the help of the local representatives of the offshore team.
Criteria for choosing the right partner depend on the division of labor the carrier envisions. If you intend to house and manage the offshore staff yourself, then what you want is primarily a team of talented software engineers. On the other hand, if you're looking for a partner that can provide infrastructure as well, the first thing to look for is a track record of success- with domain expertise a close second. And an offshore development partner candidate should be able to show you specifically how it manages the development process to insure success — including its expectations of your organization.
What about hourly versus fixed-price arrangements? Isn't it best to choose a supplier who will agree to complete the project for a specific cost? Not necessarily. Offshore development companies are likely to be reluctant to agree to fixed prices. Doing so can deprive a client of motivation to restrict the project to what was originally intended.
New technology generally, and the Internet specifically, can be used to make offshore development more like across town development. Project management software on the Web can make it possible for all parties to know exactly what's going on at all times. Offshore programmers can check out software from your servers, work on it, and then return it at the end of the day. Video teleconferencing can make global meetings practical.
When isn't it a good idea to use offshore development partners? Certainly for projects that are too small. The setup overhead is just too great. But probably the most telling contraindications for using offshore partners is when your organization isn't sure what it wants in the first place. Hiring someone else to do much of the work doesn't mean they're the right people to figure of what needs to be done.
According to the folks at FirstApex, the single greatest threat to successful offshore projects is scope creep. You're probably not surprised. Scope creep has subverted more than one onshore development project as well. So project containment is extremely important from the client side if offshore projects are to come in on schedule and under budget.
Is offshore development appropriate for your organization? If you want to
develop your own software, you don't have the staff to do it, and your deployment
date is near term, then offshore development is certainly worth consideration.