A Study of Software Development Project Outsourcing and its Impact

Verified

Added on  2022/01/22

|45
|13810
|52
Report
AI Summary
This research paper, published in the Journal of Enterprise Information Management, investigates the impact of outsourcing software development projects to low-cost destinations on project cost, schedule, and quality. The study employs a system dynamics simulation approach, consulting with industry experts to model and validate the findings. The research explores the optimal distribution of onsite and offshore teams, communication hours, and training efforts. The results indicate that while outsourcing can reduce costs, it may also decrease overall team productivity. The paper highlights the importance of strategically dividing work between onsite and offshore teams, with a focus on keeping requirement analysis and design work onsite while involving offshore teams in coding and testing. The study also provides insights for project managers to optimize team distribution during various phases of software development in a distributed environment. The research emphasizes the importance of knowledge flow, communication, and team structure in global software development.
Document Page
Journal of Enterprise Information Management
A Study of Software Development Project Cost, Schedule and Quality By Outsourcing to Low Cost
Destination
Debasisha Mishra Biswajit Mahanty
Article information:
To cite this document:
Debasisha Mishra Biswajit Mahanty , (2016),"A Study of Software Development Project Cost, Schedule and Quality By
Outsourcing to Low Cost Destination", Journal of Enterprise Information Management, Vol. 29 Iss 3 pp. -
Permanent link to this document:
http://dx.doi.org/10.1108/JEIM-08-2014-0080
Downloaded on: 26 February 2016, At: 05:12 (PT)
References: this document contains references to 0 other documents.
To copy this document: permissions@emeraldinsight.com
Access to this document was granted through an Emerald subscription provided by emerald-srm:393177 []
For Authors
If you would like to write for this, or any other Emerald publication, then please use our Emerald for Authors service
information about how to choose which publication to write for and submission guidelines are available for all. Plea
visit www.emeraldinsight.com/authors for more information.
About Emerald www.emeraldinsight.com
Emerald is a global publisher linking research and practice to the benefit of society. The company manages a portf
more than 290 journals and over 2,350 books and book series volumes, as well as providing an extensive range of
products and additional customer resources and services.
Emerald is both COUNTER 4 and TRANSFER compliant. The organization is a partner of the Committee on Publication
Ethics (COPE) and also works with Portico and the LOCKSS initiative for digital archive preservation.
*Related content and download information correct at time of download.
Downloaded by RMIT University At 05:12 26 February 2016 (PT)
tabler-icon-diamond-filled.svg

Paraphrase This Document

Need a fresh take? Get an instant paraphrase of this document with our AI Paraphraser
Document Page
A Study of Software Development Project Cost, Schedule and Quality
By Outsourcing to Low Cost Destination
Abstract:
Purpose - This paper makes an attempt to find good values of onsite-offshore team strength; number of
hours of communication between business users and onsite team and between onsite and offshore team
so as to reduce project cost and improve schedule in a global software development environment for
software development project.
Design/Methodology/Approach - This study employs system dynamics simulation approach to study
software project characteristics in both co-located and distributed development environments. We
consulted 14 experts from Indian software outsourcing industry during our model construction and
validation.
Findings – The study results show that there is a drop in overall team productivity in outsourcing
environment by considering the offshore options. But the project cost can be reduced by employing the
offshore team for coding and testing work only with minimal training for imparting business knowledge.
The research results show that there is a potential to save project cost by being flexible in project
schedule.
Research limitations/implications – The implication of the study is that the project management team
should be careful not to keep high percentage of manpower at offshore location in distributed software
environment. A large offshore team can increase project cost and schedule due to higher training
overhead, lower productivity and higher error proneness. In global software development, the
management effort should be to keep requirement analysis and design work at onsite location and
involves the offshore team in coding and testing work.
Practical implications - The software project manager can use the model results to divide the software
team between onsite and offshore location during various phases of software development in distributed
environment.
Originality/value – The study is novel as there is little attempt at finding the team distribution between
onsite and offshore location in global software development environment.
Keywords: Global Software Development, Knowledge Flow, Software Development Productivity and
Error Proneness.
Paper type: Research paper
Downloaded by RMIT University At 05:12 26 February 2016 (PT)
Document Page
2
1. Introduction
Software project management has been the focus of considerable attention during the past two decades
in the information systems, especially after the advent of outsourcing. Effective software project
management focuses on the three P’s: People, Problem and Processes (Pressman, 1997). The human
resource is the most important factor in the development of a software product. In spite of development
in technology and processes, the productivity of human resources remains the most dominant factor for
cost and schedule of software development projects, which are also the most important reasons for
outsourcing (Alpar and Saharia, 1995; Loh, 1994). Based on the standards and tradition in the software
development field, the most common combination of criteria used to measure the success of a project
concerns meeting time, cost, functionality and quality goals (e.g. Anda et al., 2009; El Emam and Koru,
2008; Kappelman et al., 2006; Lai, 1997; Sumner et al., 2006). This paper presents a study that explores
the effect of division of work between onsite and offshore location and training effort at onsite and
offshore locations on the development cost and schedule of a development project in global software
development (GSD) environment.
Outsourcing has become one of the strategies adopted by global organizations to manage the
information system (IS). The IT outsourcing phenomenon has been widely discusses in the literature
(Aktas and Ulengin, 2005; Gowan and Mathieu, 2005; McBride et al., 2007; Ngwenyama and Sullivan,
2007; Bairi and Manohar, 2011). Among the location countries for outsourcing, India accounts for a
dominant share of the global IT offshoring market (Peterson and Gott, 2011; Raman and Chadee, 2011).
Numerous business houses in the United States of America outsource a number of their non-critical
processes to overseas countries to reduce costs incurred in salaries and running operations (Rathi and
Joshi, 2010). Most of the outsourced software projects in the context of India are in the form of business
application development and business application maintenance categories, outsourced mainly from US
and Europe. As the software development process has gone global, team structure and division of work
between onsite and offshore locations has become important in the context of GSD, as they greatly
influence onsite and offshore team productivity, which, in turn, affect the project cost and schedule.
Downloaded by RMIT University At 05:12 26 February 2016 (PT)
Document Page
3
Project-based work is especially popular in the information technology domain (Desouza and Evaristo,
2006). The maintenance and re-engineering projects constitute higher volume of work in outsourcing
environment. The software development projects in business domain constitute a very small percentage
of total work in Indian outsourcing industry. The communication overhead is higher in development
projects (Carmel and Agarwal, 2001) due to need of higher knowledge for execution. This can adversely
affect the cost and schedule of a software development project. Normally the knowledge transfer in
global software development takes place from a business user to a software developer (Kobitzsch et al.,
2001). The development team needs to absorb the knowledge from the client organization to be effective
in outsourcing environment (Cohen and Levinthal, 1990; Dibbern et al., 2008; Lee, 2001). The
communication effort required for the knowledge transfer at both onsite and offshore location decides
the team productivity affecting cost and schedule. This paper makes an attempt to find good values of
onsite-offshore team strength; number of hours of communication between business users and onsite
team and between onsite and offshore team so as to reduce project cost and improve schedule in a global
software development environment for software development project.
The rest of the paper is organized as follows. In section 2, we have discussed the relevant literature. The
research methodology is explained in Section 3. Section 4 has elaborated the system dynamics model
used for our study. The model validation is explained in Section 5. The research findings are provided in
Section 6. The discussion on research findings is discussed in Section 7 and summary of research
findings are given in Section 8. This paper is concluded in Section 9.
2. Relevant Literature
Distributed software development (DSD) is nowadays a common practice within the software industry
(Herna´ndez-Lo´pez et al. 2010). Global software development (GSD) is a particular type of DSD in
which teams are distributed beyond the limits of a nation (Herbsleb and Moitra 2001). The literature on
software project management discusses about issues such as cost, schedule, knowledge transfer,
productivity and quality in the outsourcing environment. Project management challenges are multiplied
due to issues related to knowledge transfer, communication, project management, quality management,
and infrastructure (Kobitzsch et al., 2001). The outsourcing life cycle management can be critical in
Downloaded by RMIT University At 05:12 26 February 2016 (PT)
tabler-icon-diamond-filled.svg

Paraphrase This Document

Need a fresh take? Get an instant paraphrase of this document with our AI Paraphraser
Document Page
4
global software development (GSD) (Beulen et al., 2011). Effective knowledge sharing is considered
essential for high performance in both co-located and distributed settings. The knowledge transfer
culture and alignment between information system and business strategy can influence knowledge
transfer to offshore location (Mayasandra et al., 2011; Chua and Pan, 2008). The time zone difference
between various countries also adds to project management inconveniences (Lacity and Rottman, 2009).
The GSD is challenging due to prevalence of co-ordination and communication issues (e.g., Avritzer et
al. 2010; Casey and Richardson 2009; Conchuir et al. 2009; Cusumano 2008; Garcı´a-Crespo et al.
2010). There could be loss of communication richness (physical distance, time zone, and domain
expertise), co-ordination breakdown (software architecture, integration and configuration management),
geographical dispersion (vendor support, governmental Issue) and loss of team-ness (feeling of
belonging in the team) in global software development (Battin et al., 2001). The outsourcing life cycle
management can be critical in GSD (Cullen et al. 2005; Webstar and Watson 2002).
The GSD offer a lot of advantages like lower cost (Ramasubbu et al. 2005; Smite et al. 2010), shorter
time to market (Jalote and Jain 2006; Kommeren and Parviainen 2007; Sooraj and Mohapatra 2008) and
greater availability of manpower (Conchuir et al. 2009; Kommeren and Parviainen 2007). The business
organization can be benefitted by GSD, if the development team productivity is higher. The productivity
drops in the outsourcing environment due to dispersion of work force (Ramasubbu and Balan., 2007).
Similarly, according to Kommeren and Parvianen (2007), the productivity of globally distributed team
members decreases by up to 50% compared to that of co-located team members. Moreover, the delivery
of software products developed in globally distributed environments takes two and a half times as long
as in a co-located environment (Herbsleb and Mockus 2003). However, we not aware of any effort to
estimate the project cost and schedule in GSD environment.
3. Research Methodology
One of the important purpose of our research is to calculate software team productivity in GSD
environment. System dynamics is used to capture the changes in project performance variables with
respect to execution time. The models for productivity estimation in literature can be broadly divided
into static and dynamic models. The static models can be roughly categorized as either analytical relying
on mathematical formulas or experience-based. COCOMO II and SLIM are the most conventionally
Downloaded by RMIT University At 05:12 26 February 2016 (PT)
Document Page
5
used mathematical static models (Boehm, 1981; Kemere, 1987). The International Software
Benchmarking Standards Group (ISBSG) database can help in making experienced-based estimates for
analysis, bench-marking and comparison of various kinds of software projects (ISBSG, 2009).
Among dynamics models, the system dynamics tool is used by various researchers. A notable system
dynamics model used in software project management is by Abdel-Hamid and Madnick (1991). System
dynamics tool is used by various researchers such as Ruiz et al. (2001) and Stemanit et al. (2007) to
study software project projects characteristics in co-located and distributed environment respectively.
Dynamic models are more suitable for estimation of project parameters as research suggests that
estimation models reflects the changing scenario in system development life cycle as “it is more realistic
to think of software engineering as an evolutionary process where software is continually changed over
its lifetime in response to changing requirements and customer needs” (Sommerville, 2004). It is also
necessary to refine the model throughout the life cycle of the project based on changing parameter
(Abdel-Hamid and Madnick, 1991). So we decided to use system dynamics to simulate the software
project development environment in GSD.
The model was constructed based on knowledge management framework of software development from
literature proposed by Mishra and Mahanty (2015). The model describes the various kinds of business
knowledge required in different phases of software development. Mishra and Mahanty (2014) has
already used the business knowledge management framework in construction of system dynamics model
for simulation model of software re-engineering project. The model was used by Mishra and Mahanty
(2014) to calculate cost and schedule of re-engineering project in GSD environment. The knowledge
management framework is used for construction of system dynamics model for the development project
in this research work. We interviewed 14 experience software professionals from Indian software
industry during the model construction, validation and testing. All the interviewed experts had more than
10 years of experience in the outsourcing industry. They work as project leaders, project managers,
senior managers and group leaders constituted a representative sample of the Indian software
outsourcing industry. The system dynamics model construction is explained in section 4 and model
validation and testing is explained in section 5 of this document.
Downloaded by RMIT University At 05:12 26 February 2016 (PT)
Document Page
6
4. System Dynamics Model Sectoral Overview
The system dynamics model developed consists of four major sectors: (1) policy decisions, (2)
Knowledge transfer, (3) Team productivity and error proneness, and (4) software development sector
with various flows connecting them. Figure 1 provides the overview and interconnection of model’s four
sectors.
The purpose of the model is to study important project characteristics as provided by Putnam and
Mayers (1996):
A measure of the average productivity
A measure of the production cost
A measure of the quantity produced
An indication of the product quality
A measure of the remaining time to complete the project
The simulation model estimates the average nominal productivity based on business knowledge
expertise level of the software developer. The production cost is dependent on manpower usage at onsite
and offshore locations. The project quality can be measured by amount of rework needed vis-à-vis
software development work done. We used Extent of Rework (EOR) and Extent of Latent Error (EOL)
to measure rework quantity and product quality respectively as used by Rai and Mahanty (2001). The
EOR and EOL are defined in equation (1) and (2) respectively. The remaining time to complete the
project can be calculated by tasks remaining and team productivity after communication overhead.
EOR = 100 * (Revised Total Tasks – Initial Total Task)/ (Initial Total Task) --------------- (1)
EOL = 100 * (Tasks with Fault/Total Tasks) -------------------------------------------- (2)
<<<<<<<<<<<<<<<<< Insert Figure 1 >>>>>>>>>>>>>>>>>>>>
Downloaded by RMIT University At 05:12 26 February 2016 (PT)
tabler-icon-diamond-filled.svg

Paraphrase This Document

Need a fresh take? Get an instant paraphrase of this document with our AI Paraphraser
Document Page
7
4.1 Knowledge Transfer Sector
This sector is based on business knowledge management framework of software development proposed
by Mishra and Mahanty (2015) based on literature review and expert opinion survey. Rus and Lindvall
(2002) identified two types of knowledge central to the software development process: (1) technical
knowledge that is used to develop a system and (2) business knowledge in the application domain of a
system. Integration of technical knowledge with business application domain knowledge is central to
effective software development (Tiwana, 2004a; Tiwana, 2004b). Business knowledge is related to the
process novelty for application software development. Technology knowledge is related to the
technology aspects of application software development. The business knowledge assumes greater
importance in distributed environment as technology can be learnt independent of location. The business
knowledge requirements, however, is highly location-specific and has to be met from the client
organization at a given location. We have assumed waterfall model of software development for our
model construction. Although there are many methods of software development, the waterfall model is
usually preferred in outsourcing environment, because it is easier to execute at offshore locations for
design, coding and testing activity when the product requirement and user interface does not undergoes
frequent changes (Sakthivel, 2005).
The business knowledge can be divided into four different types such as domain, strategic, business
process, and operation process knowledge. This classification of business knowledge was taken from
organization model by Guetat and Dakhi (2010), which defines an organization as conjunction of four
spaces: the strategy space, the knowledge space, the information space, and the operational space. The
software projects belong to the information space. The information space interacts with all other spaces
and gathers knowledge from them. The model was derived from three world models defined by Popper
(1972) and subsequent work by Stohr and Konsynski (1992). The importance of various kinds of
business knowledge in various stages of software development and nodes of knowledge flow in GSD in
explained in Figure 2.
<<<<<<<<<<<<<<<<< Insert Figure 2 >>>>>>>>>>>>>>>>>>>>
Downloaded by RMIT University At 05:12 26 February 2016 (PT)
Document Page
8
The domain knowledge is required in feasibility study of software development. The role of software
development team is minimal in this stage. The requirements analysis phase is dependent on strategic
knowledge. Similarly, the business process and operation process knowledge is required for design
software architecture, which consists of high level design (HLD) and low level design (LLD). The
business process and operation process knowledge can be taken as part of overall process knowledge.
The coding and testing phases requires basic domain, strategic and business process knowledge for a
productive team member. The productivity of software development team depends on strategic, business
process, at requirements analysis and software architecture phase respectively. The domain knowledge is
necessary to understand other kinds of business knowledge.
Various kinds of business knowledge have to be transferred from business users to onsite team and from
onsite team to offshore team. We have used the knowledge flow concepts as used by Zhuge (2002) and
Zhuge et al. (2006). The development projects can be considered as a closed environment where the
knowledge flows from a higher node to a lower node by communication effort. The business user,
onsite development team and offshore development team works as three nodes in our knowledge
transfer model. The productivity of the software development team is dependent on accumulated
knowledge. The knowledge flows from business users to onsite team and from onsite team to offshore
team as given in equation (3) and equation (4) respectively. The two proportionality constants are
Knowledge_Tranfer_Coefficient_from_Client and Offshore_Knowledge_Transfer_Coefficient
respectively and we assumed value of 0.2 and 0.06 for them. The values were assumed after consultation
with the industry experts, who suggested that the knowledge transfer to offshore location is slowed
down by more than 3 times in comparison to onsite-only knowledge transfers. The business knowledge
flow in the development team is given in Figure 3.
The knowledge transfer co-efficient for a particular stage is related to previous business knowledge
expertise. For example, one can understand strategic knowledge in a better way, if one has some
knowledge of domain knowledge. It is not possible to learn strategic knowledge without having any
knowledge of business domain. The dependency of knowledge transfer on preceding stage business
knowledge takes the sigmoidal “S” shape. This means that current business knowledge transfer is
severely affected with lower level business knowledge in the preceding stage.
Downloaded by RMIT University At 05:12 26 February 2016 (PT)
Document Page
9
Knowledge_Trasfer_Rate_From_Client =
Knowledge_Tranfer_Coefficient_from_Client * No_of_Hour_of_Communication_With_Business_User
* (Knowledge_Level_of_Business_User - Average_Business_Knowledge_Onsite) *
Average_Business_Knowledge_Onsite/Knowledge_Level_of_Business_User
-------------------------------------------- (3)
Knowledge_Transfer_From_Onsite_Team =
Average_Time_Spend_on_Training_Offshore*Offshore_Knowledge_Transfer_Coefficient *
(Average_Business_Knowledge_Onsite - Average_Business_Knowledge_Offshore) *
Average_Business_Knowledge_Offshore/Average_Business_Knowledge_Onsite
-------------------------------------------- (4)
The knowledge is defined using a five point scale as illustrated below:
1 - Little knowledge, 2 – Below average knowledge,
3 – Average knowledge, 4 – Better than average knowledge,
5 – Highly developed Knowledge.
<<<<<<<<<<<<<<<<< Insert Figure 3 >>>>>>>>>>>>>>>>>>>>
4.2 Software Development Sector
The software development sub-sector calculates the task completion in the development process. We
have combined development, system testing and quality assurance work into a unified term called task.
The project is considered to consist of a number of tasks. A task can be defined is productivity of an
experienced software engineer in a single day. The tasks completed can be done correctly or can be done
with fault. The work done with fault is dependent on nominal error injection rate. Also we assume that
no of errors are multiplied when the current business knowledge is below the required business
knowledge. The errors are detected by quality assurance activities after introduction of delay in the
process. The effort to rework on errors multiplied depending on the stage they are discovered (Rai and
Mahanty, 2002). We have assumed a multiplication factor of 3, 2 and 1 for errors discovered in
requirement analysis, software architecture and coding/testing phases respectively. The erroneous tasks
are added to the remaining tasks. The Sector is given in Figure 4.
Downloaded by RMIT University At 05:12 26 February 2016 (PT)
tabler-icon-diamond-filled.svg

Paraphrase This Document

Need a fresh take? Get an instant paraphrase of this document with our AI Paraphraser
Document Page
10
<<<<<<<<<<<<<<<<< Insert Figure 4 >>>>>>>>>>>>>>>>>>>>
4.3 Team Productivity and Error Injection Sub-sector
The team productivity and error proneness is calculated in the team productivity sub sector. Software
project data for effort prediction purposes have been widely studied and many models have been
proposed, such as COCOMO81 (Boehm, 1981), COCOMO II and COCOT (Boehm et al., 2000) and
RUPS (Krushten, 1999). The effort values can vary widely in real life environment as found by Kultur et
al. (2009) and Tan et al. (2010). We referred to COCOMO II model for our simulation. As per
COCOMO II model, the planning and requirement phase (related to strategic knowledge), software
architecture (related to business process and operation process) and coding/testing takes 7%, 32% and
58% of the effort respectively. For our simulation we will be assuming the values 10%, 30% and 60%
respectively for requirements analysis, software architecture, and coding & testing phase respectively.
The team productivity depends on productivity of the onsite and offshore team members. The
productivity of the offshore and onsite team members in a development phase depends on the type
business knowledge level required for tasks execution as shown in Figure 5. The team member can work
on software development tasks after spending their time on training effort. There can be loss of
productivity due to intra-team communication. The calculation of nominal team productivity and actual
team productivity is calculated for a particular phase. The errors are injected into the production system
in development process. The offshore team is 2 times more likely to make error compared to onsite
team. The assumption was made after consulting the experts from Indian outsourcing software industry.
<<<<<<<<<<<<<<<<< Insert Figure 5 >>>>>>>>>>>>>>>>>>>>
5. Model Validation
The simulation model development can be carried out in three stages: (1) defining the system problem
entity, (2) building the conceptual model, and (3) converting the conceptual model to a computer
executable model (Sargent, 1981). All these three stages of simulation model building require either
subjective or objective validation. The conceptual model building phases needs verification on theory
Downloaded by RMIT University At 05:12 26 February 2016 (PT)
Document Page
11
framework and assumptions. The computer executable model requires that the conceptual model is
implemented without errors and, also operational data is able to produce the system behavior for the
intended system under study (Sargent, 2010) The operational validation is the most important validation
process where the output data is verified to ensure that all aspects of model such as input data, model
framework and computer simulation are reliable. The verification and validation for a system dynamics
model cannot be 100% reliable as no single model can represent the entire reality, since such model will
be expensive to construct and more difficult to manipulate (Pidd. 2000). The purpose of our research is
to find out the cost, schedule and quality of development project in GSD, the verification and validation
install enough confidence in us for policy analysis.
5.1 Conceptual Model Validation
The face validation and traces can be used for evaluating the conceptual model of the simulation. Our
model was constructed after interviewing the 14 experts from Indian outsourcing software industry. The
experts guided us all though out the model construction process. It ensured that we conducted face
validity for our mode. The experts reviewed the logic for every variable in the model, which is a process
to conduct trace validity. The experts knowledge based framework for software development is
constructed based on expert interview is explained in section 4.1. The entire process of expert interview
and data collection will be communicated as part of a separate research paper.
5.2 Computer Model Structure Verification
The computer structure verification and validation is required to ensure that appropriate software tools
and techniques are used for model constructed. The system dynamics technique is very popular for
modeling software development after publication of work by Abdel-Hamid (1991). The Stella software
is widely used tool for constructing and simulating the system dynamics models. The structural validity
is a stringent measurement for system structure in order to build confidence in a system dynamics
model. A right behavior can also be “biased” behavior depending upon the extent of agreement of the
actual system behavior values with that of simulated behavior values. Thus a behavior validity test
should follow the structural validation procedure. The structural validity of a system dynamics models
includes (1) boundary adequacy test, (2) structure verification test, (3) extreme condition test, (4)
Downloaded by RMIT University At 05:12 26 February 2016 (PT)
chevron_up_icon
1 out of 45
circle_padding
hide_on_mobile
zoom_out_icon
[object Object]