You are on page 1of 10

Master of Science Thesis Proposal Department of Computer Science and Engineering Arizona State University

Software Outsourcing: Decision Support Via Dynamic Simulation Modeling

Prepared by: Stephen T. Roehling January 24, 1999

Approved By: Chairperson: Committee: Committee: James Collofello Dwight Smith-Daniels Joseph Urban _______________________ _______________________ _______________________

ABSTRACT The thesis research proposed herein will model and analyze software outsourcing dynamics and constraints with respect to vendor and customer objectives and concerns. The goal of the proposed thesis research is to demonstrate dynamic simulation modelings usefulness and value when addressing software outsourcing decisions. To this end, the rationale, expected benets, and motivation for building such models are discussed, and research and model development plans are presented.

1.0 Introduction
Poorly managed software projects routinely suffer from schedule overruns of one hundred to two hundred percent, with wide degrees of staff performance, poor software quality, customer dissatisfaction, and other problems [2, 9]. To address these problems, many processes, methodologies, and tools have been developed to more effectively manage software projects [2, 5, 9]. The undertaking for in-house software managers to deliver software on time and within budget is risky and challenging. In some cases, outsourced projects are arguably riskier than in-house ones, since customers have less direct control over project decision making. Therefore, one can argue that software outsourcing participants may also benet from carefully developed processes, methodologies, and tools. To help rene outsourcing decision making and mitigate outsourcing risks, the proposed research will develop a dynamic simulation model to represent software outsourcing dynamics and constraints. The model will emphasize time-sensitive and feedback driven variables, such as learning curves for outsourced development, and rising labor rates (variables which cannot be easily represented by other tools). This document establishes the value of a simulation based approach, and describes a model scoping, development, and validation approach designed to maximize the value of the proposed research.

2.0 Why Simulation?


Dynamic simulation modeling is one tool that software project managers can use to gauge the effects of various project management decisions and policies [3, 4, 10]. As shown in Table 1, software outsourcing participants may also directly or indirectly benet from dynamic simulation modeling. TABLE 1. Simulation modeling characteristics and outsourcing. Simulation Modeling Characteristic Simulation allows the study of a system with a long time frame in compressed time [7]. Simulations allow more control over experimental conditions than would be allowed from experimenting with the system itself [7]. Explicit, logical, and precise assumptions must be made in order to build a simulation model [1]. Software Outsourcing Benet Outsourcing decisions are time-constrained, but simulation models allow customers to make insightful observations in minutes, rather than weeks or months. Customers and vendors can cooperatively experiment with what if development scenarios, and select one with the desired characteristics. In support of a modeling effort, customers will be further motivated to provide explicit assumptions about the softwares requirements, expected costs, and expected schedule. Where measurement activities are shown to directly benet the modeling effort (i.e., where collected metrics serve as inputs to the model), organizations will be further motivated to carefully measure development efforts. Non-technical outsourcing participants, such as managers and contract ofcers, can readily gauge the effects of outsourcing decisions. Example scenario: explain the trade-offs between a new language learning curve for in-house programmers, vs. a tactical decision to outsource for language prociency.

Simulations can present complex information in an intuitive, easily digestible manner. Dynamic simulation models can model a system over time.

In general, the notion of dimensions and constraints will serve an important role in the model. Outsourcing relationships can be modeled along several inter-related dimensions (e.g., communication overhead, project size, cost, and schedule), where an outsourcing scenario can be thought of as single discrete point. The model will distill and communicate trends, patterns, and characteristics of realistically achievable outsourcing scenarios. In this regard, the types of questions simulation modeling will help address include the following: Literature suggests that larger outsourced projects are more cost effective [11]. Under various conditions, what does the size vs. cost effectiveness curve look like? At what project size threshold does it make sense to outsource development work, because of insufcient inhouse programming language expertise? What percentage of the effort should be outsourced to maintain consistent stafng levels after completion of the development phase? How does communication overhead scale with respect to outsourced project size and schedule?

Assume larger outsourced projects can recoup legal and high-speed connectivity costs, but suffer increased staff communication overhead: What are optimal project sizes with respect to all of these factors? What is each factors relative contribution to expected cost, schedule, and other observable simulation outputs? Does it make sense to outsource to just one vendor or to several vendors?

3.0 Expected Benets


In general, an outsourcing relationship involves two parties: the customer and vendor. As shown in Table 2 below, modeling can benet both parties. TABLE 2. Outsourcing participants, their objectives and concerns, and potential modeling benets. Party Customer Objectives and Concerns Build the right product. Minimize cost. Minimize time to market. Maximize quality. Stable in-house stafng levels. Flexible and scalable commitments with vendors. Maximize prot. Customer satisfaction. Commit to a reasonable development schedules. Maintain stable stafng levels. Earn future business. Potential Modeling Benets Where modeling can demonstrate the most important outsourcing capabilities per the customers requirements, vendors can choose vendors which are most qualied. More development choices - customers can choose any development scenario. Commit to more realistic and fair outsourcing relationships.

Vendor

Manage non-technical customers expectations regarding cost and schedule. Literature suggests feature creep is sometimes a problem in outsourced development [6]. A model could motivate customers to be more explicit and precise about feature requirements. Commit to more realistic and fair outsourcing relationships. Plug in historical project metrics data to the model as a selling point for future business. Refocus on activities demonstrated to be most important to successful outsourcing (e.g., continuous training).

4.0 Motivational Examples


At this point, it is useful to consider some motivational examples which further demonstrate the value of the proposed work. In particular, this section discusses the types of outsourcing dynamics and constraints which may be addressed through simulation modeling, compares simulation to vendor proposals (an outsourcing management tool), and describes scenarios under which the proposed research might be leveraged.

4.1 Good, Cheap, Fast (Pick any 2)


The phrase Good, Cheap, Fast (Pick any 2) can be used to illustrate the value in building simulation models to represent and communicate software outsourcing dynamics and constraints. In particular, Table 3 motivates several observations regarding the dynamics of software projects and the language of software outsourcing:

There is a direct, straightforward mapping between the non-technical, customer-centric language used in Table 3 and technical software project language; i.e., cheap, good, and fast maps to cost, schedule, and software quality. This close mapping underscores a main theme of the proposed research, which is to integrate and reuse software project modeling concepts using language and analyses which are tailored to the outsourcing problem domain. Due to the dynamics of software projects, customers generally cannot set all 3 constraints; i.e, cheap, good, and fast. A model will indicate to customers and vendors which outsourcing scenarios are realistic. Table 3 represents a limited, discrete set of choices; in a proposal, for example, these choices might be listed as Option A, Option B, and Option C. If the outsourcing problem is modeled dynamically, customers and vendors can readily experiment with an endless number of what if scenarios, but optimize towards a single agreeable one.

TABLE 3. Outsourcing choices along quality, cost, and schedule dimensions Constraints Cheap, Good (not fast) Outsourcing Scenario Outsource to a small, tightly-knit organization. Reduced communication overhead and rework costs. Schedule pressure does not preempt quality initiatives. Large relative overhead for legal costs, and connectivity setup. Vendor(s) cannot easily scale their development commitment. Results Deliverables will take a long time to complete, but will be of high quality. Deliverables will be produced quickly, but the short schedule and staffing overhead will increase costs. Poor quality deliverables will be produced in a short period of time.

Fast, Good (not cheap)

Outsource to a large, properly trained development organization. Possibly large recruiting and legal costs (e.g., head-hunter fees, and high hourly consulting rates). Increased communication overhead and rework costs. Smaller relative overhead for legal costs and connectivity setup. Vendor(s) can easily scale their development commitment. Schedule pressure preempts quality initiatives. Recruit inexperienced, poorly trained staff.

Cheap, Fast (not good)

4.2 Vendor Proposals


During the establishment of an outsourcing relationship, vendors proposals are a pivotal negotiation and communication tool. In this regard, it is useful to consider ways a dynamic simulation model can directly or indirectly benet the proposal development process Table 4 below provides several examples where simulation modeling can tie-in and add value to the proposal writing and negotiation process. A written proposal compels a vendor to explicitly quantify preliminary estimates of development costs, schedule, and stafng requirements [8]. After the vendor has prepared an initial written proposal, a model

will give both customers and vendors a collaborative tool to better understand, and more carefully negotiate important project variables. TABLE 4. Benets of dynamic modeling mapped to representative proposal topics. Representative Proposal Topic How much will the work cost? What will the software do? How many people will work on the project? Describe experience levels of staff in the target application domain. Where will the work be performed? Potential Simulation Modeling Benets Based upon lower and upper bound cost estimates, vendors may carefully adjust their bids. Models require explicit and precise assumptions, which in turn requires explicit and precise customer requirements. Increased stafng levels increase communication overhead, which may result in lower per-staff-member productivity. A dynamic simulation model can represent the time-sensitive nature of staff experience. Assuming the vendor will learn the technology as the project progresses, a customer may choose a less experienced, less expensive vendor. Assumptions about communication overhead can be represented as model inputs, and resulting outputs may be useful to both customers and vendors: A customer may negotiate for a lower price, to recover the cost differential between an off-site development arrangement and an in-house effort. Where the model demonstrates the indirect effects of communication overhead on cost, a vendor might negotiate for effective communication channels, such as a high-speed dedicated data link, or regular in-person meetings. Job size (function points, lines of code). Where an assumed job size in an input to the model, customers can observe non-linear direct or indirect effects on software outsourcing related variables. These observations will motivate customers to be more explicit and precise regarding project requirements, and prioritize these requirements accordingly (i.e. separate their wants from needs). Determine realistic penalties and rewards for schedule changes. Factor the rising cost of outsourced labor over time.

Change Rates

Furthermore, a written proposal can only statically represent a small set of development choices, such as development choices A, B, or C. A simulation model can represent and communicate an endless number of outsourcing scenarios, and describe how they will play out over time.

4.3 Usage Scenarios


Below are a few value-added, actual scenarios under which the proposed work might be leveraged: (A) At the bottom of a top-down decision support process: 1. 2. 3. 4. Customer meets with an outsourcing domain expert, and describes their objectives and concerns. Expert uses a qualitative, informational framework and taxonomy to identify optimal outsourcing types, strategies and tactics. Simulation model is customized to represent the customers outsourcing type. Expert walks the customer through several simulation runs, which directly quanties choices made in step 2.

(B) Training sessions, where simulation modeling is used in a stand-alone manner: 1. 2. 3. Customer meets with an outsourcing domain expert, and describes outsourcing goals and constraints. Domain expert chooses a set of pre-modeled outsourcing types to illustrate key properties of customers stated outsourcing goals and constraints. Domain expert walks the customer through several simulation runs, which collectively elevates customers sensitivity to benets and drawbacks of various candidate outsourcing decisions.

(C) As a compliment to other relevant tools and practices, for example: 1. 2. 3. Customer uses an estimation model, such as COCOMO, to determine the expected size and cost of the software project. Customer asks the question, Does it make sense for me to outsource a piece of the development effort?. Customer leverages an outsourcing specic model to accurately determine expected outsourcing related overhead and savings.

5.0 Research Activities


The main goal of the proposed thesis research is to substantiate a claim that dynamic simulation modeling, under certain conditions, can be an active and value-added software outsourcing decision support tool. The research will be complete once the above claim has be substantiated to the satisfaction of the thesis committee. The following research activities are geared towards meeting this goal: 1. Literature review, relevant topics include: Software and business acquisition management and outsourcing. Systems dynamics modeling. Software measurement and estimation. Human factors and quantitative data analysis. Advanced survey A qualitative survey will be conducted in collaboration with Brian Herman, an ASU Ph.D. student who has proposed a rule based outsourcing decision support system [5]. A study of survey techniques, and a determination of the most appropriate survey technique to support our respective efforts will be part of this collaborative research activity. With respect to simulation based decision support system proposed herein, the surveys goals are to scope the modeling effort towards the most common and/or value-added outsourcing type, and to identify potential candidates for model validation or expert review. To this end, the types of questions the survey will ask include: What factors drive initial outsourcing management decisions? Answers to this question will help determine what types of inputs the simulation model should support. What is the most common type of outsourcing? Answers to this question will help determine the types of project environments the simulation model will represent (e.g., outsource one phase, outsource part of the system). What factors determine the success or failure of an outsourced effort? Answers to this question will help determine the types of outputs and analyses the model will support (e.g., schedule performance, cost, quality). Data collection - literature review will established the necessity, feasibility, and availability of various data collection methods. Candidate methods include: Perform detailed interviews with several outsourcing experts. Perform a case study of several existing projects. If new metrics are required to support outsourcing, ask several project to collect these metrics. Implement a simulation model User language, inputs, outputs, and analyses tailored to the outsourcing problem domain.

2.

3.

4.

5.

6.

7.

Modeling efforts focused on the most common, and/or most well-understood type of outsourcing. Modeling tool selection will occur after literature review. Model validation Use review literature and/or expert interviews to validate overall modeling scope. Establish model input limits and defaults using industry norms, expert opinion, or results in literature (where applicable). Exercise the model under several outsourcing scenarios. Verify outputs using review literature and domain experts. Relate a simulation based approach to other relevant tools and practices. Explain how to leverage modeling, analysis, and other outsourcing tools, strategies and tactics together. Explain how to customize the model to other types of outsourcing. What types of metrics serve as appropriate inputs to the model? Explain how other tools can be used as a front-end for modeling analysis and to formulate input parameters to the model. Develop an outsourcing specic analysis and visualization framework, which, where applicable, includes carefully developed animations, charts, graphs, and tables.

6.0 Simulation Modeling Approach


Since simulation modeling is a major aspect of the proposed work, it is appropriate to more closely examine the modeling aspect of the research. Building and exercising a simulation model serves three main purposes: 1. 2. 3. The model will demonstrate, rst hand, the types of benets simulation modeling can bring to software outsourcing (e.g., rapidly construct what-if scenarios during a software contract negotiation). The effort will prove that such a model can be built, and present one approach for building them. The effort will document the modeling experience, and identify practices other modelers can reuse.

The proposed modeling efforts scope does not include building and validating a general model for software outsourcing. A model will be built to represent a single type of outsourcing, but common building blocks and lessons learned should be universally applicable. In general, the modeling approach will be as follows: Answer the following questions to help scope the modeling effort: (a) what is the most common type of outsourcing? (b) which type of outsourcing is best served by simulation modeling (e.g., outsource a phase, total acquisition)? Where applicable, seek out and reuse pre-validated sub-models. Enumerate outsourcing related software measurement and estimation techniques, such as the ones given in [11], and tailor modeling inputs to reuse these measurement and estimation techniques. Tailor model outputs and analyses to the outsourcing problem domain. Where necessary and applicable, calibrate the integrated model against industry metrics, experts opinions, case studies, or results in literature.

The model is expected to emphasize time-sensitive and feedback driven variables, such as in-house vs. outsourced learning curves, rising labor costs, or multi-phase scheduling considerations. There are two reasons for scoping the modeling effort in this manner:

Dynamic simulation models are especially adept at representing time-sensitive and feedback driven variables. An emphasis on time-sensitive and feedback driven variables will distinguish a simulation based approach proposed from tools that cannot easily represent these variables, including spreadsheet models, COCOMO, and rule based decision support tools (see [5]).

The proposed work will demonstrate simulation modelings close relation to, and strong support for the software outsourcing decision making process. Model validation will not be a major focus of the proposed thesis, but each component will at least be presented, discussed, and validated against review literature1.

7.0 Research Completion Timetable


Table 5 provides a tentative, high level timetable for completing each research task and the thesis as a whole. TABLE 5. Tentative research completion timetable Task Literature review Outsourcing survey Monthly literature re-review Real world data collection Model development Write thesis Model validation Oral thesis defense Start 10/1/98 10/15/98 12/1/98 12/1/98 12/1/98 1/1/98 3/1/99 Finish 11/31/98 11/1/98 4/15/99 2/15/99 2/31/99 4/15/99 3/31/99 May 99

8.0 Summary
The goal of the proposed research is to place dynamic simulation modeling and analysis into a value-added software outsourcing decision support role. A topic approach, simulation modeling approach, and supporting research activities have been carefully selected to collectively reach this goal; in this regard, below is a summary of several important aspects of the proposed research: Articulate simulation modelings role in software outsourcing decision support, and explain how modeling and analysis might be leveraged in actual settings (see 4.3). Relate a simulation based approach to other applicable management and decision support tools. For example, 4.2 describes how modeling analysis can add value to the proposal writing process. Dene a simulation model which uniquely captures time-sensitive and feedback driven aspects of software outsourcing (see 6.0), but inter-operates with other applicable tools and methodologies in a synergistic and mutually benecial manner (see 4.3, scenario (A)). Implement and validate an actual simulation model which project managers and outsourcing managers can leverage to rene their decision making and better understand outsourcing dynamics and constraints.

1. A similar approach was used in [1] to validate a laboratory software project management model.

Run the simulation model under several outsourcing scenarios, and develop effective ways to analyze and communicate the models results.

9.0 References
[1] [2] [3] [4] Abdel-Hamid, Tarek, and Stuart E. Madnick, Software Project Dynamics: An Integrated Approach. PrenticeHall, Englewood Cliffs, New Jersey, 1991. Booch, Grady. Object Solutions: Managing the Object-Oriented project. Addison-Wesley Publishing Company, Inc., 1996. Collofello, James S., J. Tvedt, Z. Yang, D. Merrill, and I. Rus, Modeling Software Testing Processes, Proceedings of Computer Software and Applications Conference (CompSAC 95), 1995. Collofello, James S., I. Rus, A. Chauhan, D. Houston, D. Sycamore and D. Smith-Daniels, A System Dynamics Process Simulator for Stafng Policies Decision Support, Hawaii International Conference on System Sciences (HICSS), January 1998. Hermann, Brian G. A Decision Support Tool to Categorize the Applicability of Outsourcing Strategies to Specic Software Development Projects and Goals, Ph.D. Dissertation Proposal (Draft 12), Arizona State University, Computer Science and Engineering Department, December 1998. Jones, Capers. Marry in Haste, Repent at Leisure: Successful Outsourcing Requires Careful Consideration and Preparation, Cutter IT Journal, Volume 11, No. 7, July 1998. Law, Averill M., and W. David Kelton. Simulation Modeling & Analysis. McGraw-Hill, Inc., 1991. Marciniak, John J., and Donald J. Reifer. Software Acquisition Management. John Wiley and Sones, New York, 1990. McConnel, Steve, Rapid Development: Taming Wild Software Schedules. Microsoft Press, Redmond, Washington, 1996. Rus, Iona, J. Collofello, and P. Lakey, Software Process Simulation for Reliability Strategy Assessment, International Workshop on Software Process Simulation Modeling, 1998 (ProSim'98). Yourdon, Ed, et. al. Offshore Outsourcing: The Benets and Risks, Cutter IT Journal, 1996.

[5]

[6] [7] [8] [9] [10] [11]

You might also like