Conference PaperPDF Available

Outsourcing for software applications development: issues, implications and impact.


Abstract and Figures

Information technology has become one of the fastest-growing, fastest-changingmarkets in the world. The high demand on software applications and servicesis forcing more companies to turn to outsourcing to meet their customerneeds. We define software outsourcing as contracting out software services,operations, products or development of applications.This paper presents an overview of outsourcing in software development.In particular, we attempt to isolate some of the motivating factors for ...
Content may be subject to copyright.
People Technology
Software Application
Specialised Tasks
Not part of desired
Common Tasks
Not part of core
Specialised Tasks
In-House Development Outsourced Tasks
Control Tasks
Core competencies
Common Tasks
Core Competency
(Expertise not available in-house)
- Bonding
- Monitoring
- Blending of Efforts,
- Benchmarks
Outsourcing Relationship Outsourcing Vendor
- Vendor selection and capacity
- Project plan
- Development processes & paradigms
- Identify core strategic specialities
- Resolve Ownership, IP, and liabilities
- Lines of authority for accepting changes
- change impact and propagation procedures
- Assurance that components meets technical
and operational requirements
- Components function correctly within
their intended operating environment
- Relationship
- Control
- Withdrawal from outsourcing decision
- Skills & capacity of vendor
- Delays on delivery time
- Changing requirements & environment
- Privacy and security
- Availability
- Project plan
- Development processes & paradigms
- Specialities and expertise needed
- Resolve Ownership, IP, and liabilities
- change impact and propagation procedures
- Lines of authority for accepting changes
- Components function correctly
- Availability of required skills
- Changing requirements & environment
- Penalties
- Withdrawal of outsourcer
Instigate and Manage
Outsourcing Relationship
- Technical people
- Market survey
- Feasibility study
- Time
- Technology
- Control
- Trust
- Safety
- Expertise
- Cost
(points inside reflect
technical inputs needed)
- Expertise
- Interest
- Technology
- Time
- Cost
Selective Outsourcing
Total Outsourcing
Selective Outsourcing
Strongly Coupled
Company’s Situation
* How strong is the company’s
competitive position?
* What are the company’s strengths,
weaknesses, opportunities, and threats?
* What are the company’s key
* How far does change is the industry
affect the company’s business?
* Which company’s are in the strongest/
weakest competitive positions?
*What are the industry’s dominant traits?
Key Factors
* Cost saving
* Time
(meeting deadlines, first to market,..)
* Human Resources and expertise
* Competition
* Globalisation
* Specialisation and focus
* Alliances and partenrships
* Technology
* Process
* Capability development
Key Questions
* Does outsourcing have good fit with
* Is there vendor/s that meet company
* Have all internal alternatives been
company’s strategy and situation?
* Is it feasible?
* Will it improve performance/ time/ cost?
* Will it help build a copetitive advantage?
Key Criteria
Outsourcing Issues
* Capacity, availability, capability of
outsourcing vendors
* Scale/size of outsourcing (total/selective)
* Vendor Relationship
(strategic/ short term)
* Change, CM, and evolvability
* Performance measures
* Maintenance & system maintenability
reports, configuration mangement)
* Process visibility (documentation,
* Development paradigms
* System decomposition and interfaces
development tools, programming lang.)
* Technology (Platform, OS,
* Trust/ assurance
* Contract and conformance
* Ownership, IP, & location of source
* Frequency of use
* Bonding, monitoring, and coordination
efforts and resources
* Liability/ responsibility
* Flexibility and control
* Cost
Drivers to Outsourcing
[ Yes/No, Who, When, What, Degree]
Taking The Decision
... Outsourcing of system development, integration, and maintenance is an important trend in IT services [2]. For a client, the outsourcer, contracting out work is a cost-effective way to hire expertise at a fixed price and get in return a system (or service) with a predefined quality, which includes timely delivery. ...
... A number of issues have to be resolved for successful outsourcing of systems, which in [2] are summarised as: control, ownership, development paradigms, assurance, and system decomposition. Typically these issues are addressed in the contracts and agreements. ...
Conference Paper
Full-text available
We discuss several difficulties managing evolving requirements by means of an industrial case study conducted at LogicaCMG. We report on setting up a requirements management system in an outsourcing context and its application in real-life. The experience results in several lessons learned, questions to be answered in the future on how to manage evolving requirements, and solution directions. We propose a conceptual framework of requirements engineering system tailored for outsourcing environments, which captures the experience results.
... In achieving maximum benefits amongst the outsourcing companies, necessity is placed on the positive relationship between the vendor and the client (Nie and Hammouda, 2017). Different researchers have outlined the maintaining elastic vendor and client relationship and this has created business values when outsourcing software (Abbas and Dart, 1998;Betz and Mäkiö, 2008). In understanding the distinct relationship in the outsourcing process has meant that proper arrangements have been made and issues of dependency have been achieved. ...
Full-text available
Globalization and technological advancement have driven up the demand for software as many enterprises seek to gain a competitive edge through efficient business operations. Whereas software provides this capacity, the resources involved in software development sometimes provide a stumbling block, especially for startups and smaller businesses. Software development outsourcing or offshore software development offers a viable alternative for these enterprises. Software development outsourcing is a contractual agreement between a client and vendor organization (s), who then provide part or all of the software development related services at an agreed fee paid by the client. Despite the apparent importance of offshore software development, there is limited research literature that explores the general practices in software development outsourcing. Besides, identifying barriers that often present a significant challenge for client organizations has received a little interest from researchers. This paper presents a Systematic Literature Review (SLR) of 68 research articles to identify the critical barriers for offshore software development outsourcing vendors. In order to increase the internal validity of the reported findings, the articles selected for the review were taken from three continents; Africa, Asia and Europe. The critical barriers established from the study included communication problems, cultural barriers and incompatibility with the client's requirements. From the findings, it is recommended that vendors address these barriers for an improved relationship between themselves and the clients. Moreover, addressing these barriers offer the vendors with an opportunity to position themselves strategically within the offshore outsourcing industry. Furthermore, the findings provide meaningful literature in the continuum of Software Development Outsourcing for Software project managers, researchers and other participants in the field. More importantly, the presented literature offers a starting point for generalizing the reported findings within the context of Software Development Outsourcing.
... " In the case of software outsourcing the business function is the software development and a thirdparty service provider is a subcontractor enterprise. So, a more precise definition for this practice is given by R.Abbas (1998) ...
AFIT/GCS/ENG/04-16. "March 2004." Thesis (M.S.)--Air Force Institute of Technology, 2004. Includes bibliographical references.
Outsourcing and collaborative development are on the increase and in turn will have a greater influence in software development. Software architecture plays an important role in collaborative projects. We argue that the properties of the final system, and the collaborative work model chosen to develop it, are strongly influenced by the software architecture. We further argue that the choice of software architecture should therefore be based on both the software requirements and the outsourcing requirements. A simple mobile phone network simulation example is used to illustrate how these requirements can influence the choice of software architecture. We present a number of candidate architectures based on our example and discuss the impact each architecture will have on the system properties and work model in the context of a specific set of outsourcing requirements. Finally, we present some ideas on how the outsourcing requirements and desired system properties can be used to select a...
A summary is presented of the current state of the art and recent trends in software engineering economics. It provides an overview of economic analysis techniques and their applicability to software engineering and management. It surveys the field of software cost estimation, including the major estimation techniques available, the state of the art in algorithmic cost models, and the outstanding research issues in software cost estimation.
Team Risk Management is a new paradigm for managing programs for projects by developing a shared product vision, focused on results, and using the principles and tools of risk management to cooperatively manage risks and opportunities. This report will familiarize you with the concept of Team Risk Management by providing a description of the overall process that engages both the customer and supplier in a cooperative framework using explicit methods to manage project risks. Customer - Supplier Relationships, Risk, Team Risk Management
Team Risk Management defines the organizational structure and operational activities for managing risks throughout all phases of the life- cycle of a software-dependent development program such that all individuals within the organizations, groups, department, and agencies directly involved in the program are participating team members. Through the adoption of team risk management, the government and contractor are provided with processes, methods, and tools that enable both organizations, individually and jointly, to be increasingly anticipatory in decision-making processes. This report introduces the team risk management approach for managing risks within a software-dependent development program.
The author uses examples of Quarterdeck software to show that the puce of innovation in Internet software outstrips the ability of any single company or tool set to keep puce. While pointing out the validity of both standards based programming and technical innovation in advance of standards with the intent of achieving market advantage, that one must be prepared to make use of new (not necessarily home grown) tools, make alliances and yet one must also be on the lookout for the next coming set of innovations, and the tools to cope with them.
This paper summarizes the current state of the art and recent trends in software engineering economics. It provides an overview of economic analysis techniques and their applicability to software engineering and management. It surveys the field of software cost estimation, including the major estimation techniques available, the state of the art in algorithmic cost models, and the outstanding research issues in software cost estimation.
Outsourcing is the process of transferring part or all of the information systems functions to an external vendor. Examples of how three organizations are using outsourcing are presented. Factors which impact the outsourcing decision include (1) personnel, (2) economic, (3) control, (4) data characteristics, (5) organizational characteristics, and (6) vendor and contract issues. Variables within each category are discussed. Finally, the advantages and disadvantages of outsourcing are summarized.