Offshore Development Methodology

In considering and implementing any offshore development project, companies are frequently looking at outsourcing those functions of their business that do not make economical sense to develop or maintain locally. This could typically be the development of products internationally such as building an airport in Hong Kong or developing software in China for a U.S. company. It might even include upgrading a legacy mainframe system into a new Web-based system. Outsourcing must consider the potential vendor capabilities in the possible areas of (1) engineering, (2) manufacturing, (3) information technology, (4) competencies, and (5) support. Projects benefit from the choice of an offshore partner who is able to provide services on a global basis. Companies outsource offshore principally to:

Take advantage of skills the vendor can provide.

Reduce internal conflict with primary corporate business objectives.

Reduce cost of services.

Focus on critical project goals and objectives.

Gain quick access to latest technology.

Gain access to resources that otherwise might not be practical to obtain or retain.

Have access to best-in-class technologies, tools, and processes.

Reduce predictable costs and improve effectiveness.

Companies at this stage have already decided to reduce costs internally, and certain business areas are forecasted to cost even more. The decision to outsource is based on:

Size of the project (too large to do in-house).

Complexity of the project requiring more interactions.

Availability of resources and/or environments and their cost.

Cost of development tools required for offshore development and so on. A typical offshore project has the following stages:

Project initiation.

Requirement study.

High-level design.

Detailed design.


System testing.

Acceptance testing.


Through outsourcing, clients have the flexibility to use (1) people, (2) processes, and (3) technology to enhance, manage, and maintain systems and operations. This can be done remotely from any offshore facility, or co-located on clients' premises. Offshore development methodology stages typically include:

Application management: Staff, processes, and methodologies for maintaining, enhancing, and supporting applications.

Application development: Staff, processes, and methodologies for developing new applications.

Business process management: Services to manage and execute enterprise business processes, including the sourcing and staffing of professionals.

Help desk: Provides the professional staff, facilities, and infrastructure to effectively support users of applications and systems. Support services include problem reporting, resolution and tracking, and application usage assistance.

Operations management: A set of services that provides real-time management and operation of the information technology infrastructure supporting critical business operations. Typical services include hardware and software configuration, performance management, capacity planning, problem resolution, problem tracking, backup, and recovery.

Business continuation: Contingency planning and disaster recovery services required for maintaining business operations in the event of information technology infrastructure failure.

The offshore development methodology has a clear distinction of the activities that can be done on-site and offshore. Of the stages specified previously, the first three stages are normally carried out at a client's site. After the high-level design (system specifications) is complete and signed off by the client, further work on detailed design and construction is executed offshore. The client approves the system test plans. Detailed system test specifications are then prepared based on the approved plan. System testing can be carried out either offshore, on-site, or both. For example, BMW of Munich has many manufacturing plants located offshore (e.g., South Africa), which produce world-class products. Similarly, in the IT industry, more and more companies in the West are starting to outsource their legacy systems in countries such as India, China, and the Philippines.

If external interfaces are not available in the offshore environment, these interfaces are "stubbed" and the rest of the system is tested. These stubs are removed at the client site and the tests are repeated after integrating these external interfaces. Acceptance testing is done by the users who normally provide on-site support during a client's acceptance testing. After completion of acceptance testing on-site, skilled resources can be provided for supporting the implementation. The methodology follows formal structured software development life cycle models and uses the latest structured methodologies while executing software projects.

The Essential Guide To Outsourcing

The Essential Guide To Outsourcing

Discover How To Use Outsourcing To Grow Your Online Business and Free Up Your Time. You can also greatly benefit from the skillset of other people. The fact is that we just can't be good at everything, so does it really make sense to spend 8 hours designing an amateurish looking header for your website when you could outsource the task to a professional graphics designer? By outsourcing certain tasks in your online business you'll be able to accelerate your growth, as well as freeing up more time to concentrate on the important stuff.

Get My Free Ebook

Post a comment