Primavera Systems, a vendor of enterprise project management software, has outsourced product development using the agile development process to the Indian operation of product engineering outsourcer Symphony Services.
A section of developers hold that agile development is difficult to do offshore because of the requirement of close interaction and communication between team members.
Traditional software development has used the sequential "waterfall" methodology, which starts with requirement definition, followed by requirement analysis, programming, testing, and documentation, said Ibrahim Abdelshafi, vice president for development at Primavera.
Using the agile development process, Primavera has broken down the development into smaller projects or iterations, lasting between two to four weeks, each with requirement analysis, programming, testing, and documentation phases.
At the end of each iteration, the result is working software, Abdelshafi said. The advantage of the agile process is that the software is developed incrementally and the requirements can be modified between these iterations to respond to market changes, he added.
The agile development process has worked very well for Primavera when used in a multilocation development model, although it was earlier thought among developers in the U.S. that it would be an alternative to offshore development, Abdelshafi said. Primavera started using agile development techniques in the U.S. over three years ago.
The company is using the offshore model to develop a new version of Primavera Enterprise, its flagship product suite. It is also considering the outsourcing of other product development to India.
Primavera has split its developers into teams, each with designers, programmers, testers and documentation staff. Of Primavera's 10 agile development teams of between eight to 10 staff each, two are offshore in India at Symphony Service, while the rest use Primavera's own staff in the U.S. The company is adding two more agile development teams in India over the next three months.
While it is distributing its development teams across the U.S. and India, Primavera has taken the precaution of not splitting a team across the two locations. "If you have a small team, collocate them, give them very clear tasks, and leave them alone to get the work done: It is more productive," Abdelshafi said.
Symphony does offshore product development using agile development techniques for eight software companies.