Service-oriented development of applications (SODA) is the best way to approach globally distributed application development and maintenance, according to a new report by Gartner.
The research group says that the principles of service oriented architectures - assembly and orchestration, loose coupling, standardisation, use of registries, enterprise service buses and process-centricity - can bring cost savings and other benefits such as reduction in errors and increases in the speed of development.
Research VP, Joseph Feiman, said, One of the reasons to consider SODA in a global model is that your development partners may already have artifacts to reuse and assemble. Because SODA is still evolving, global partners and providers do not yet consistently have registries of reusable artifacts to employ, however, they should become commonplace as SODA matures."
An example of the use of SODA in global application development, according to Feiman, is assembly and orchestration - the bringing together of many single processes and directing the way they work as a larger whole.
"This can be done at locations that differ from where the services were developed, which enables optimal ratios between quality of skills and the cost of globally distributed skills. For example, services could be developed at offshore locations with low labour costs, while the assembly and orchestration could be done at on-site locations where business expertise is concentrated, thus balancing cost and skills," says Feiman.
Likewise Feiman takes the concept of loose coupling, where services are easily and quickly connected or detached to make larger processes, and applies that to application development, with small teams working in different locations being assigned tasks that fit the overarching project.
"It is easier for globally distributed application development teams to develop loosely coupled services than monolithic applications. It is also easier to assemble teams and assign work, as well as track bugs, issues, status and progress. This ease of use is not related to technology as much as to all the human factors inherent to a small, localised team environment," he says.
The study goes on to outline how standardisation, registries, enterprise service buses and process-centricity can all be incorporated into a methodology for consistently successful application development.