Application development outsourcing: Get the SDLC models right

Indian companies are fast learning that outsourcing application development provides benefits by managing the systems development life cycle as well as service-level agreements.

Today, Indian CIOs often prefer to outsource the application development process because of the benefits that farming out this process brings to the table. First, outsourcing application development helps ease the pressure on an organization's IT team and enables it to focus on its principal concern: governing in-house IT priorities. Second, it reduces the pressure of creating internal expertise to develop an application. Hence CIOs prefer to leverage a service provider's capabilities. But the challenge is to manage the entire show.

As most CIOs readily admit, managing an outsourced application development project is different from handling other IT projects. In this case, the process begins with selection of the right service provider and effective management of the systems development life cycle (SDLC). Gaps in the process can create unexpected challenges for a CIO and his team.

Leading Indian consumer electronics manufacturer LG Electronics, for example, farms out application development. "We prefer to outsource the application development projects, since our partners understand our business requirements and deliver the applications to enhance our functional capabilities," says Daya Prakash, the CIO of LG Electronics. "It helps our internal team to manage the different aspects of IT, whereas the external party can focus on the application's development. Since we don't have to create an infrastructure to develop the application, there is a clear cost benefit."

More on managing application development outsourcing
Managing application development outsourcing risks

Outsourcing IT application management on rise for 2010

An organization must ensure that it partners with the right service provider, which requires understanding the project requirements and scope. It is also critical to communicate expectations to a company's service provider. "Defining service-level agreements [SLAs] and having the right SDLC are important factors" for CIOs to consider, says Pratap Gharge, the vice president and CIO of Bajaj Electricals Ltd.

Most Indian organizations follow a typical SDLC process: They ensure delivery of high-quality systems, provide strong management control over projects, and maximize systems staff productivity. This lifecycle starts with application planning. Hence the process typically starts with collating requirements, which is followed by design, then development on the basis of that design, then application testing.

User often cannot define their requirements clearly at first, Gharge observes. They haven't yet mapped out how the system will work. Hence many organizations prefer to prototype the system first and demonstrate it to users for feedback. Work then begins on users' suggested improvements. Such a methodology provides users with their requirements, though with this approach, project timelines – and potentially costs – can increase.

According to Shailesh Joshi, the associate vice president and head of IT for Godrej Properties Ltd., outsourced application development projects are typically evaluated on the basis of three areas: economical, operational and technical feasibility. Furthermore, the SDLC is also used as a reference to keep the project on track and to evaluate progress.

Many organizations prefer to prototype the system first and demonstrate it to users for feedback. This provides user requirements, though project timelines – and potentially costs – can increase.

Challenges in application development management

Most CIOs interviewed for this article believe that the party to which work is outsourced should understand the business's requirements. To this end, a service provider with domain expertise can play a major role in making the project successful. "People who design an application typically come from a software background," Prakash says. "And most of the time, we find a severe lack of domain expertise [among] such people. You spend significantly on outsourcing and developing an application, but due to the developed application's lack of suitability, it becomes difficult to make the application live."

According to Gharge, Indian CIOs tend to overlook SLAs in application management projects. SLAs can ensure application performance, which depends on numerous factors, including hardware sizing, network bandwidth, users' PC capability, server loads, storage and I/O bottlenecks. "A CIO should attempt to define the SLA and monitor these using automated tools to ensure clear accountability and easiness of measurements, "Gharge says. "When it's an application development project, defining requirements, detailed testing scripts and user acceptance criteria are critical. These measures help us define milestones, as well as performance bonuses and penalties. Thus we can monitor the vendors with continuous reviews on a periodic basis."

Planning to overcome challenges

The most critical stages of any outsourced application development process are the planning stages and selection of the right service provider. During this stage, decision makers should assess the risks involved. They can begin by forming a project team and engaging suitable advisers and then can address issues such as management of resources, project and information.

"The project team should align the initiative once it has determined aspects such as decision rights, length and termination date of the outsourcing contract," Joshi says. "Those involved in outsourcing decisions should carefully create and review the request for proposals [RFPs] critically. We also need to negotiate the contract's scope, performance standards, pricing schedules and terms with the vendor."

Finally, a company's top executives must be committed to managing an outsourcing relationship. Managers must be willing to monitor performance, evaluate results and build a strong relationship with the vendor. These efforts must be supplemented by quality testing. "To get quality work, it is necessary to conduct constant checks and testing at every stage of the project," Gharge says. "There should be a separate quality assurance team, and enough time should be dedicated for quality testing."

For an outsourced application development project to be successful, a CIO should be involved in every project review meeting and enable project teams to overcome the obstacles (including resource requirements). Project plan reviews should be the key review item and concerned stake holders should be committed to ensuring timely completion of all milestones.

Read more on IT suppliers