Model of distributed software development using system dynamics

Thumbnail Image
Date
2015-01-01
Authors
Ghosh Dastidar, Sourajit
Major Professor
Advisor
David M. Weiss
Committee Member
Journal Title
Journal ISSN
Volume Title
Publisher
Altmetrics
Authors
Research Projects
Organizational Units
Organizational Unit
Computer Science

Computer Science—the theory, representation, processing, communication and use of information—is fundamentally transforming every aspect of human endeavor. The Department of Computer Science at Iowa State University advances computational and information sciences through; 1. educational and research programs within and beyond the university; 2. active engagement to help define national and international research, and 3. educational agendas, and sustained commitment to graduating leaders for academia, industry and government.

History
The Computer Science Department was officially established in 1969, with Robert Stewart serving as the founding Department Chair. Faculty were composed of joint appointments with Mathematics, Statistics, and Electrical Engineering. In 1969, the building which now houses the Computer Science department, then simply called the Computer Science building, was completed. Later it was named Atanasoff Hall. Throughout the 1980s to present, the department expanded and developed its teaching and research agendas to cover many areas of computing.

Dates of Existence
1969-present

Related Units

Journal Issue
Is Version Of
Versions
Series
Department
Computer Science
Abstract

Distributed Software Development today is one of the most widely used and implemented software development strategies in the industry [1]. Some of the major advantages of this methodology are 24 hour work-cycle [2], increased diversity of resources, reduced labor costs, decreased time of iteration cycle and diverse skillset of the workforce [3]. Although it has proven to be quite efficient and practical, there are ample reasons from previous research [4][5] in this field that show that this development approach is uncertain in terms of quality of product developed, speed and expenses. Factors such as presence of multiple stakeholders, lack of effective communication among sites, cultural differences among the workforce and presence of a diverse range of system variables brings a level of uncertainty into the system. A method is required to simulate iterations of the software development lifecycle and understand the effect of changes in system variables/stakeholders involved. This would help project managers, business analysts and other parties involved from different sites to examine the effect of changes in one variable at any point to the other variables and inspect its short and long term consequence on the project plan and deliverables. Problems leading to faulty product development, failure in conforming to all the lifecycle requirements, decreased customer satisfaction, unforeseen expenses and inability to meet deadlines can be avoided by predicting changes using those predictions to make better decisions.

In this thesis, I have created a simulated model of Distributed Software Development using the concept of System Dynamics [6]. My main purpose is to define the different variables, and stakeholders involved in this methodology. Furthermore, I aim to define relationships among them, analyze and draw sufficient conclusions that would help understand and decrease uncertainty. As an example, the results of the simulation show prediction of change of the number of customers, features released with time for the given product as other variables in the system change. This can help project directors, managers and leads to make better informed decisions about the steps they can take to maximize their product growth in the market.

Comments
Description
Keywords
Citation
Source
Subject Categories
Copyright
Thu Jan 01 00:00:00 UTC 2015