An increasing number of carriers are taking advantage of the cost savings of software development using geographically disparate teams, including those located offshore. And with good reason: the economic benefits of doing so can be exceptional.Most approaches to outsourced development are best-suited for traditional maintenance and system evolution projects in which requirements are static and well-documented. From my experience, these projects can run largely on autopilot and don't require a lot of structure and management time.

However, software projects in the insurance industry are increasingly complex. Requirements tend to be more fluid than fixed. And, success depends on more frequent interaction between development teams and their business customers.

This leaves many carriers in a quandary. On one hand, they want to capitalize on the benefits offered by IT outsourcing. Yet they also realize that the typical approach to remote development can lead to trouble on particularly challenging and complex projects.

An emerging approach

Fortunately, a software development approach is now emerging that enables carriers to capitalize on the economic benefits of outsourced, offshore software programming on even the most complex projects-and to do so in a way that minimizes risk when compared with traditional offshore methods.

This approach, called "distributed agile," has produced results for companies such as Columbus, Ohio-based Nationwide Financial, the financial services arm of Nationwide Insurance.

Nationwide recently used distributed agile to tackle a highly complex project-called Quality Improvement Plan (QIP)-which is designed to ensure accurate and timely delivery of critical data feeds provided to 1,300 broker/dealer firms.

Nationwide wanted to take advantage of cost savings made possible by having a portion of the work performed in India, among other places. However, Nationwide's executives needed to balance savings with tangible results. After learning how the concept of distributed agile works and the advantages it provides, the company decided to put the approach to work on QIP.

Best of both worlds

Like other offshore development approaches, distributed agile involves the use of remotely located development teams. But that's essentially where the similarities end.

With distributed agile, part of the outsourced development team is on-site, working closely with decision-makers and business users to carefully manage requirements. The other part of the team works off-site where compensation rates are typically more attractive.

Off-site team members have the same technology skills and core practices as their counterparts working with carriers. This approach provides the best of both worlds: carriers can minimize risks on highly complex projects while leveraging the global economics of remote development.

The second-and perhaps the most critical-difference between distributed agile and traditional offshore outsourcing is that distributed agile leverages proven risk-minimization practices of agile development and does so on a global scale. (The term "agile" actually describes a number of software development methodologies, such as Extreme Programming, SCRUM, and others. The methodologies share common characteristics that lend themselves to a more adaptable or "agile" process.)

The key to effective collaboration among geographically disparate teams is visibility. Look at any failed project involving remote development, and you'll likely see an "over-the-wall" approach in which the company was blind-sided by costly, unexpected breakdowns during the development phase.

With distributed agile, business and user requirements are broken down into small increments that can be developed in phases. Moving forward incrementally enables decision-makers to determine whether progress is actually being made.

This is especially attractive on projects involving work performed using teams located throughout the world.

The emphasis on incremental development also gives carriers the ability to quickly adapt to changing business requirements and deliver working software faster to end-users when compared with traditional methods. Simply put, no one has to wait a year to see if the upgraded, or new, system works. The risk of being blind-sided by unexpected breakdowns is mitigated. And, there's also the time-to-market benefit of being able to deploy working software to end-users sooner.

Frequent testing

Distributed agile also involves the use of rigorous and frequent testing throughout the entire development cycle. That's a departure from the more traditional practice of relegating testing to the end of a project.

In fact, distributed agile projects typically utilize a continuous integration process that incorporates automated testing suites. The suites execute all unit and acceptance tests several times daily in an automated fashion, making regression testing fully automated.

Why is this important? Because it enables carriers to identify system defects early on so that they can be addressed when it is least expensive to do so.

In today's environment, C-level executives are unwilling to invest in risky IT initiatives. At the same time, an increasing number of these same decision-makers are being drawn to the savings potential of offshore development and the use of geographically distributed teams.

Just ask Nationwide.

Bob Hunter is the director of ThoughtWorks Inc.'s Insurance Practice.

Register or login for access to this item and much more

All Digital Insurance content is archived after seven days.

Community members receive:
  • All recent and archived articles
  • Conference offers and updates
  • A full menu of enewsletter options
  • Web seminars, white papers, ebooks

Don't have an account? Register for Free Unlimited Access