Choosing A Global Delivery Model For Outsourced Software Development

When you choose to leverage the benefits of outsourced software development, your vendor or technology partner typically would offer a few global delivery models. Before you choose to outsource your software development processes, here are a few tips to understand the various global delivery models and to figure out what works best for you and your organization.


Outsourcing Delivery Models typically follow any of the approaches suggested below:

  • Time and Material Outsourcing
  • Project-Based Outsourcing
  • Dedicated Development Team
  • Managed Services Model

Time and Material Outsourcing

The time and material (T&M) outsourcing approach is suited to a scenario where the customer wants to initiate the development or work right away, but is not clear about the entire scope of work.

The T&M model facilitates agile development process as

  •  It is a flexible model with negotiable budget and low risk for both the parties.
  • Opportunity to pay in parts only for the performed work, perfect for long projects for which the timelines cannot be predicted during the initial stages.
  • Client has control over the project and tasks.
  • Enhancements, changes and negotiations can be done during any project stage.

Project-based Outsourcing

The Project-based outsourcing approach involves complete outsourcing by customer to a technology partner/vendor. The Project Management for the entire project is taken care by your technology partner, while you, the customer, are involved in sharing the requirements, and acceptance of the project deliverables. The project based outsourcing approach has the following benefits for you, the customer:

  • Availability of skilled resources, which may not be easily available with the customer. This allows the customer to focus on the core mission in hand, and also save on employee hiring, training, and associated costs.
  • Improve efficiencies, focusing on core processes and eliminating inefficiencies by outsourcing non-core processes.
  • Better provision of risk management as the customer can outsource the associated risks thereby, spreading and reducing the risks.
  • Offshoring to a different country, which is in a different time zone is useful as it helps to utilize the 24 hours available more effectively. As the partner’s day is the customer’s night, partner can take over from where the customer left working during the day, and continue working during the customer’s night.
  • Outsourcing enables staffing flexibility and helps in meeting uncertainties in demand.
  • Moreover, the value add that the delivery model creates is economic and very co

The table below indicates  the typical phases, activities and deliverables in a Project-based Outsourcing Approach.


Requirements/ Analysis
  • Requirements Gathering / Scoping
  • Analyze old architecture/ As-Is-Study
  • Identify critical issues
  • Documenting system test cases
  • Project Proposal
  • Scope / Requirements document
  • Project Plan
  • System Architecture
  • System Test cases ( initial draft)
Design / Documentation
  • Develop DB Design
  • Develop System Design
  • Develop Code structure
  • Create Detailed Architecture
  • Create Detailed Project Plan
  • Design document ( High Level, Low Level Design & DB Design)
  • Detailed Hardware & System Architecture
  • QA Plan
Coding & Unit Testing
  • Coding of modules
  • Code Review
  • Unit test case development
  • Unit testing
  • Code Review Report
  • Unit testing Report
  • Unit tested code for modules
System & Integration Testing
  • Finalization of System & Integration Test Cases
  • Executing Test Cases
  • Bug Fixing
  • Change Requests Review
  • Update test cases
  •  Update design
  • Integration Test Plan & cases
  • Integration Test Report
  • System Test Plan
  • System Test Cases
  • System Test Report / Test Log
  • Approved Change Requests
  • Updated Design Document
Acceptance Testing/ Production Release
  • Verify Acceptance criteria / Acceptance Testing
  • ·Bug Fixing
  • Change Request Review
  • User Training
  • Creation of User Manuals
  • Creation of Installation Manuals
  • Release To Production
  • Sign off on Acceptance
  • List of QA bugs
  • Release Notes
  • Installation Manual
  • User Manuals
  • Approved Change Requests


Dedicated Development Team

In this model, a dedicated development team is allocated to work with the customer full time exclusively on the projects on a long term basis. Your technology partner is responsible for setting up the software development team mapping to a client’s skill requirements, workflows, methodologies, practices, management style, and business culture.

The dedicated team is assigned to projects by the customer and is managed by customer’s representatives. You/a customer is charged a fixed monthly fee for each employee and the workload for each employee is maintained by the customer.

A few benefits of the dedicated development team model are:

  • Initial investments are not required on the long-term, pricing is usually flexible and therefore, return on investments are quick.
  • Full Operational control with client and therefore, greater flexibility in operations.
  • Readily available infrastructure and facilities.
  • Flexible and consistent team.
  • Seamless extension to customer’s workflow and processes – ease in customer team augmentation without hiring.
  • Strong service delivery expertise from your technology partner.

Managed Services Model

In this model, your technology partner, as a service provider , becomes responsible for the end to end delivery of a service and operations which was earlier being maintained by you, the customer. While the customer is responsible for only managing, or monitoring the engagement with the service provider, and evaluating its performance, the customer now is not required to engage in planning, designing, managing and delivering the services. These activities are the responsibility of the service provider/technology partner.

The different types of Managed Services Engagements are:

  • Team Augmentation
  • Tasks and services with specific service levels
  • Complete IT operations and end-to-end service level management
  • Hosting and IT operations with end-to-end service level management
  • Complete outsourcing, including all assets, planning and design with end- to-end service level management

Few key benefits of a managed services model are:

  • Risks, rewards and responsibilities are shared between the trusted partners.
  • Predictable costing
  • SLA based deliveries – Service Level Agreements based SLAs set.
  • Freeing up of customer resources for taking up other important activities.
  • Clearly stated, measurable outcomes using metrics.
  • Consistent high quality delivery.
  • Continuous improvement, using and improvising upon shared knowledge of best process practices, standardizations, and application life cycle improvements.



Your thoughts?