System (Dynamics) Models in Teaching/Learning

Focuses on papers and resources devoted to exploring the consequences of "teaching" system dynamics and system dynamic modeling. Importantly, these papers should help define the consequences of learning and using such techniques, particularly in system/software engineering. Included in this collection are papers that look at the use of simulations in building skills in project management. Sometimes such activities are referred to as "management flight simulators." Papers linked from this bibliography are managed in different ways to maintain copyright. Typically this implies that those papers from journals, such as those from ACM and IEEE, are not available to third parties. Students in my classes may gain access by obtaining the required username and password.

[ASCD] ACSD (2003) System Thinking. Online course provided by ASCD.

[Birk02] Birk, A. & Pfahl, D. (2002) A Systems Perspective on Software Process Improvement. . Pages: .

Abstract:

Software process improvement often lacks strong links to project management and control activities, which are concerned with identifying the need of process change and triggering improvement initiatives. Project management, on the other hand, often fails at seledting appropriate software engineering methods and technology that help to ensure project success. This paper proposes a model that guies project managers (1) to set up a project so that it can reach its specific goals and (2) to identify corrective actions (or changes) once a project is at risk of failing its goals. The model complements established improvement methods such as CMMI, GQM, and Experience Factory and links them to those project management activities that often are the starting point of improvement initiatives.

[Chillarege02] Chillarege, R. (2002) The Marriage of Business Dynamics and Software Engineering. IEEE Software, November/December 2002. Pages: 43-49.

[Collofello00] Collofello, J. (2000) University/Industry Collaboration in Developing A Simulation Based Software Project Management Training Course. Thirteenth Conference on Software Engineering Education & Training, 6 - 8 March, 2000, Austin, Texas.

Abstract:

A significant factor in the success of a software project is the management skill of the project leader. The ability to effectively plan and track a software project utilizing appropriate techniques and tools requires training, mentoring and experience. This paper describes a collaborative effort between Arizona State University and Motorola University to develop a software project management training course. Although many such courses exist in academia and industry, this course incorporates a system dynamics simulator of the software development process. The use of this simulator to train future software project managers is analogous to the use of a flight simulator to train pilots. This paper describes the software project simulator and how it is utilized in the software project management training course. Feedback from the training course participants is also shared and discussed.

Notes: JO

[Collofello98a] Collofello, J., Rus, I., Ramkrishnan, V. & Dooley, K. (1998) Using Software Simulation to Assist Software Development Organizations in Making "Good Enough Quality" Decisions. Summer Computer Simulation Conference, 1998 (SCSC98).

Abstract:

As competition intensifies in the software development marketplace, software development organizations continue to search for ways of shortening the development time and reducing the cost of their software products while not sacrificing quality. The development time, cost and quality of a product are interrelated and, unfortunately, a positive effect on one often produces a negative impact on another. In light of this, a new paradigm "good enough software quality" is being to gain attention. A "good enough software quality" analysis involves a careful consideration of the costs of defect prevention and detection activities as well as the risks of undiscovered defects and the benefits of reduced development time. This analysis must be performed from customer and market perspectives including the different users of the product, market considerations and the time frame that the product will be used.

[Collofello98b] Collofello, J. S., I. Rus, A. Chauhan, D. Houston, D. Sycamore and D. Smith-Daniels (1998) A System Dynamics Process Simulator for Staffing Policies Decision Support. Hawaii International Conference on System Sciences (HICSS), January 1998.

Abstract:

Staff attrition is a problem often faced by software development organizations. How can a manager plan for the risk of losses due to attrition? Can policies for this purpose be formulated to address his/her specific organization and project? Proposed was to use a software development process simulator tuned to the specific organization, for running "what-if" scenarios for assessing the effects of managerial staffing decisions on project's budget, schedule and quality. We developed a system dynamics simulator of an incremental software development process and used it for analyzing the effect of the following policies: to replace engineers who leave the project, to overstaff in the beginning of the project or to do nothing, hoping that the project will still be completed in time and within budget. This paper presents the simulator, the experiments that we ran, the results that we obtained and our analysis and conclusions.

[Collofello96] Collofello, J., Yang, Z., Merrill, D., Rus, I., & Tvedt, J. D. (1996) Modeling Software Testing Processes. The International Phoenix Conference on Computers and Communications (IPCCC'96), 1996.

Abstract:

The production of a high quality software product requires application of both defect prevention and defect detection techniques. A common defect detection strategy is to subject the product to several phases of testing such as unit, integration, and system. These testing phases consume significant project resources and cycle time. As software companies continue to search for ways for reducing cycle time and development costs while increasing quality, software testing processes emerge as a prime target for investigation. This paper proposes the utilization of system dynamics models for better understanding testing processes. Motivation for modeling testing processes is presented along with a an executable model of the unit test phase. Some sample model runs are described to illustrate the usefulness of the model.

[Ford] Ford, D. N. & Sterman, J. (????) Overcoming the 90% Syndrome: Iteration Management in Concurrent Development Projects.

Abstract:

Successfully implementing concurrent development to reduce cycle time has proven difficult due to unanticipated interactions of process constraints and managerial decision making. We develop a dynamic project model that explicitly models these interactions to investigate the causes of the "90% syndrome," a common form of schedule failure in concurrent development. We find that increasing concurrence and the common propensity of workers to conceal required changes from other development team members aggravate the syndrome and degrade schedule performance. We explore iteration management policies to improve performance in concurrent development projects.

[Everett97] Everett, Louis J. (1997) Dynamics as a Process, Helping Undergraduates Understand Design and Analysis of Dynamics Systems . Proceedings 1997 ASEE National Conference.

Abstract:

Although the first course in Engineering Dynamics often occurs early in the undergraduate career and most faculty call the material fundamental, it is neither easy to teach nor to learn. This paper proposes what might be a better method of teaching Dynamics. For the reader who teaches undergraduate Dynamics, this paper will provide detail about how to teach the class. For other readers, the contribution is to suggest, and demonstrate with results from one class experiment, that Engineering Analysis can be taught effectively by concentrating on process.

The essence of the method is to teach Dynamics as a problem-solving process. By teaching process rather than facts, students build links between equations and Engineering. Students develop an understanding of why things act as they do, why assumptions are made and when they are valid. This understanding allows them to handle more general problems without having specific examples to mimic.

This paper outlines a Dynamics class that accomplishes the following: 1. Addresses a student's mistaken intuition by confronting these mistakes and reasoning why the error was made.
2. Provides the student with a process for real-world problems. Here, real-world is defined as problems in which assumptions have to be made, tested and solutions verified.
3. Provides the student with design rules and the clear distinction between these rules and rigorous analysis.

The class has been taught once and results show that students can learn to work tough dynamics problems. Students perform exam problems ÒunlikeÓ homework demonstrating they have understood concepts and principles. Results in follow on classes are inconclusive at the present time, but suggests the knowledge is retained better.

[Ford95] Ford, D. N. (1995) The Dynamics of Project Management: An Investigation of the Impacts of Project Process and Coordination on Performance. .doctoral dissertation. Massachusetts Institute of Technology, Cambridge, MA. 1995.
[Ford98]Ford, D. N. & Sterman, J. (1998) Dynamic Modeling of Product Development Processes. System Dynamics Review, 14(1), 31-68.

Abstract:

Successful development projects are critical to success in many industries. To improve project performance managers must understand the dynamic concurrence relationships that constrain the sequencing of tasks as well as the effects of and interactions with resources (such as labor), project scope and targets (such as delivery dates). This paper describes a multiple phase project model which explicitly models process, resources, scope and targets. The model explicitly portrays iteration, four distinct development activities and available work constraints to describe development processes. The model is calibrated to a semiconductor chip development project. Impacts of the dynamics of development process structures on research and practice are discussed.

[Ford00] Ford, D. Voyer, J. and Wilkinson, J. (2000) Building Learning Organizations In Engineering Cultures: A Case Study. ASCE Journal of Management in Engineering. 16(4), July/August, 2000. Pages: 72-83.

Abstract:

The ability of organizations to learn is critical for success. Implementing organizational learning in engineering cultures can be difficult due to a focus on technology instead of people and imbalances among cultures within an organization. A project to transform a medium-sized engineering organization into a learning organization is reported, and the degree, nature, and causes of its success are evaluated. An implementation team developed skills in five disciplines of a learning organization. However the underlying organizational learning concepts were not embraced by the organization at large or incorporated into regular operations. Success was constrained by the organizationÕs ability to share and utilize the knowledge acquired by the implementation team to generate organizationwide commitment to organizational learning. The dominance of the engineering culture and the lack of organizational learning infrastructures and development process experimentation suggest that organizations with a balance among cultures may be more likely to succeed than those dominated by a single culture.

[Houston96a] Houston, D. (1996) System Dynamics Modeling and Simulation of Software Development: A Tutorial. Un-Published, Arizona State University, 1996.

 

[Jacobson03] Jacobson, M. (2003) COMPLEX SYSTEMS AND EDUCATION: COGNITIVE, LEARNING, AND PEDAGOGICAL PERSPECTIVES .

[Jacobson01] Jacobson, M. J. (2001) Problem solving, cognition, and complex systems: Differences between experts and novices.. Complexity, 6(3), 41-49.

[Jacobson00a] Jacobson, M. J. (2000, April) Butterflies, traffic jams, and cheetahs: Problem solving and complex systems.. Paper presented at the 2000 annual meeting of the American Educational Research Association, New Orleans.

Abstract:

The study of complex systems is an emerging cross-disciplinary area of research that is generating scientific knowledge students at the precollege and college levels will increasingly need to learn. However, there are reasons to believe that learning the main concepts of complexity may pose conceptual challenges for students beyond the well-documented difficulties students have with traditional science concepts such as Newtonian physics. Given the importance of problem solving in recent theories of learning, this paper reports on an exploratory study of problem solving about complex systems phenomena by experts and novices. Distinct differences were found, both in terms of the conceptual basis of the answers provided and in terms of basic epistemological and ontological component beliefs reflected in the responses. The educational implications of this research for helping students understand the challenging and often counter-intuitive nature of complex systems knowledge is also considered.

[Jacobson00b] Jacobson, M. J. (2000) Problem solving about complex systems: Differences between experts and novices. In B. Fishman, & S. O'Conner-Divelbiss (Eds.), Fourth International Conference of the Learning Sciences (pp. 14-21). Mahwah, NJ: Erlbaum.

Abstract:

This paper reports on a study of problem solving differences between scientific experts in the field of complex systems and novice undergraduate students. Significant differences were found both at the conceptual level and at the level of basic epistemological and ontological presuppositions and beliefs. It is suggested that helping students understand and use complex systems knowledge will require helping students construct a richer conceptual ecology which embraces both non-reductive and decentralized thinking, multiple causality, non-linearity, randomness, and so on. It is hoped that this research might contribute to efforts that are exploring ways for students to acquire a powerful conceptual toolkit based on emerging scientific and social science research into the dynamics of complex systems.

[Lehman] Lehman, M. M., & Wernick, P. () System Dynamics Models of Software Evolution Processes. .

 

[Lin97] Lin, Chi Y. , Abdel-Hamid, Tarek & Sherif, Joseph S. (1997) Software-Engineering Process Simulation Model (SEPS). The Journal of Systems and Software, Sept 1997 v38 n3 p263 .

Abstract:

The introduction of Software-Engineering Process Simulation Development Model (SEPS) aims to aid managers of software project development. The tool can be utilized by managers to assess software management techniques and to formulate solutions to the technical problems of software production. The program, developed at JPL and brought about by management-related problems in the industry, uses the principles of systems dynamics.

*[Madachy00] Madachy, R. & Tarbet, D. (2000) Case Studies in Software Process Modeling with System Dynamics. Software Process Improvement and Practice, 5, p. 133-146.

Abstract:

Litton's Guidance and Control Systems (GCS) Division has been using system dynamics to create mostly small-scale models for investigating managerial process issues and supporting personnel training. At the project level, these include models for planning specific projects, studying Brooks's Law and hiring issues, and interactive earned value model, requiremetns volatility and detailed peer review model. The perspective of some of the models has been at the multi-project or departmental level including domain learning, product-line reuse processes and resource contention among projects. Insight provided by the models have supported decision-making at different levels and helped galvanize process improvement efforts. The training applications have added spark in classes and improved overall learning. The models encapsulate; collective knowledge of modeling participants, and support organization learining. By examining the models and simulated behavior, managers share a process vision and can discuss issues against the common models. The models have helped managers understand the key factors in complex scenarios. Knowledge of the inerrelated technical and social factors coupled with simulation tools has enabled GCS to improve their planning and managment processes. Modeling is also used to support training of software managers and leads. Topics including earned value techniques , productivity estimation, requirements volatility effects and extrapolation of project tracking indicators have been presented with simulation models. Some of these 'flight training' scenarios that the students interact with to practice project conrol. Though we are in the early stages of many of these efforts, they will be followed through and reported on at a later time. This paper describes our introductory experiences and plans for the future.

[Madachy96] Raymond J. Madachy (1996) System Dynamics Modeling of an Inspection-Based Process. Proceedings of the 18th International Conference on Software Engineering (ICSE '96).

Abstract:

A dynamic simulation model of an inspection-based software lifecycle process has been developed to support quantitative process evaluation.

The model serves to examine the effects of inspection practices on cost, schedule and quality throughout the lifecycle. It uses system dynamics to model the interrelated flows of tasks, errors and personnel throughout different development phases and is calibrated to industrial data. It extends previous software project dynamics research by examining an inspection-based process with an original model, integrating it with the knowledge-based method for risk assessment and cost estimation, and using an alternative modeling platform.

While specific enough to investigate inspection practices, it is sufficiently general to incorporate changes for other phenomena. It demonstrates the effects of performing inspections or not, the effectiveness of varied inspection policies, and the effects of other managerial policies such as manpower allocation.

The results of testing indicate a valid model that can be used for process evaluation and project planning, and serve as a framework for incorporating other dynamic process factors.

[Navarro05a] Navarro, Emily Oh and van der Hoek, Andrè (2005) Design and Evaluation of an Educational Software Process Simulation Environment and Associated Model. Proceedings of the Eighteenth Conference on Software Engineering Education and Training, Ottawa, Canada , April, 2005.

Abstract:

Simulation is an educational tool that is commonly used to teach processes that are infeasible to practice in the real world. Software process education is a domain that has not yet taken full advantage of the benefits of simulation. To address this, we have developed SimSE, an educational, interactive, graphical environment for building and simulating software engineering processes in a game-like setting. We detail the design of SimSE, present an initial simulation model of a waterfall process that we developed, and describe an experiment that we conducted to evaluate the educational potential of SimSE and its initial model.

[Navarro05b] Navarro, Emily Oh and van der Hoek, Andrè (2005) Software Process Modeling for an Educational Software Engineering Simulation Game. Software Process Improvement and Practice. Pages: .

Abstract:

SimSE is an educational software engineering simulation game that uses a unique software process modeling approach. This approach combines both predictive and prescriptive aspects to support the creation of dynamic, interactive, graphical models for software engineering process education. This paper describes the different constructs in a SimSE process model, introduces the associated model builder tool, describes how we built an initial model of a waterfall process, and discusses the underlying tradeoffs and issues involved in our approach.

[Navarro04a] Navarro, Emily Oh,, Baker, A. & van der Hoek, Andrè (2004) Teaching Software Engineering Using Simulation Games. Proceedings of the 2004 International Conference on Simulation in Education, San Diego, California, January 2003. Pages: .

Abstract:

A typical software engineering course fails to teach its students many of the skills needed in software development organizations. Because lectures and class projects alone cannot adequately teach about the software process, we have developed a pair of games in which the process is simulated, giving students an opportunity to practice it firsthand. Problems and Programmers is an educational software engineering card game and SimSE is an educational computer simulation of the software process.

[Navarro04b] Navarro, Emily Oh and van der Hoek, Andrè (2004) Software Process Modeling for an Interactive, Graphical, Educational Software Engineering Simulation Game . Proceedings of the 5th International Workshop on Software Process Simulation and Modeling, Edinburgh, Scotland, UK, May 2004. Pages: .

Abstract:

SimSE is an educational software engineering simulation game that uses a unique software process modeling approach. This approach combines both predictive and prescriptive aspects to support the creation of dynamic, interactive, graphical models for software engineering process education. This paper describes the different constructs in a SimSE process model, the associated model builder tool, and discusses the underlying tradeoffs and issues involved in this approach.

[Pfahl02] Pfahl, D., Laitenberger, O., Dorsch, J., & Ruhe, G. (2002) An Externally Replicated Experiment for Evaluating the Learning Effectiveness of Using Simulations in Software Project Management Education . Fraunhofer IESE, IESE-Report 004.02/E, January 2002.

[Pfahl01a] Pfahl, D., & Ruhe, G. (2001) System Dynamics as an Enabling Technology for Learning Organisations. Fraunhofer IESE, IESE-Report 025.

[Pfahl01b] Pfahl, D., Koval, N., & Ruhe, G. (2001) An Experiment for Evaluating the Effectiveness of Using a System Dynamics Simulation Model in Software Project Management Education. Proceedings of the Seventh International Software Metrics Symposium (METRICS '01) .

Abstract:

Due to increasing demand for software project managers in industry, efforts are needed to develop the management-related knowledge and skills of the current and future software workforce. In particular, university education needs to provide to their computer science students not only technology-related skills but, in addition, a basic understanding of typical phenomena occurring in industrial (and academic) software projects.

This paper presents a controlled experiment that evaluates the effectiveness of using a process simulation model for university education in software project management. The experiment uses a pre-test-post-test control group design with random assignment of computer science students. The treatment of the experimental group involves a System Dynamics simulation model. The treatment of the control group involves a conventional predictive model for project planning, i.e. the well-known COCOMO model.

In addition to the presentation of the results of the empirical study, the paper discusses limitations and threats to validity. Proposals for modifications of the experimental design and the treatments are made for future replications.

[Pfahl00a] Pfahl, D., Koval, N., & Ruhe, G. (2000) An Experiment Evaluating the Effectiveness of System Dynamics Simulation Model in Software Project Management Education. Fraunhofer IESE, IESE-Report 057. (Also Proceedings of the Seventh International Software Metrics Symposium (METRICS '01))

[Pfahl00b] Pfahl, D., Klemm, M., & Ruhe, G. (2000) Using System Dynamics Simulation Models for Software Project Management Education and Training. Fraunhofer IESE, IESE-Report 035.00/E, June 6, 2000. (Extended Abstract at Software Process Simulation Modeling Workshop (ProSim2000), London, 10-12 July 2000.)

[Pfahl00c] Pfahl, D.; Klemm, M.; Ruhe, G. (2000) A CBT Module with Integrated Simulation Component for Software Project Management Education and Training ESE-Report 056.00/E, August 15, 2000.

Abstract:

*[Pfahl99] Pfahl, D. & Lebsanft, K. (1999) Integration of system dynamics modelling with descriptive process modelling and goal-oriented measurement. Journal of System and Software 46, p. 135-150.

Abstract:

One of the obstacles that seem to impede a more frequent application of the modelling and simulation approach system dynamics (SD) in the software engineering community is the lack of well-defined and repeatable procedures for generating or using informaiton that (a) stems from real industrial software development practice and (b) is suitable for SD model building. This problem can be resolved, at least partially, by combining SD modelling with already existing and commonly used static modelling methods, namely software process modelling and measurement-based quantitative modelling. To illustrate the feasibility of such a combination, in this paper an approach is proposed that complements SD modelling with descriptive process modelling and goal-oriented measurement performed according to the principles of the well-established goal/question/metric (GQM) paradigm. The new approach is called integrated measurement, modelling and simulation (IMMoS) It originates in lessons learnt from an extensive industrial SD modelling activity.

[Raffo99a] Raffo, D. M., Vandeville, J., & Martin, R. (1999) Software Process Simulation to Achieve Higher CMM Levels. Journal of Systems and Software, Vol. 46, No. 2/3 (15 April 1999), p. 163-172.

Abstract:

Organizations interested in improving their process performance face two key questions:

Quantitative process analysis tools are being developed by Northrop Grumman's Surveillance and Battle Management Systems (SBMS Melbourne, Florida) and Portland State University, under sponsorship of the Software Engineering Research Center (SERC). These tools consist of stochastic simulation models of the software development process. The stochastic/ analytic portions of the models provide a quantitative understanding of the current process and provide a mechanism for the quantitative analysis of proposed process change alternatives prior to implementation. The use of simulation models also supports a quantitative assessment of risk or uncertainty associated with process change alternatives. For Northrop GrummanÍs SBMS Melbourne site, the use of software process simulation is a key part of the company's strategy for achieving a higher software development process capability and moving to levels 4 and 5 of the Capability Maturity Model (CMM)

This paper provides a brief background on alternative quantitative approaches, describes the model currently being utilized by the SBMS Melbourne site, and provides an example of its use in analyzing a potential process change.

[Raffo99b] Raffo, D. M. (1999) Getting the Benefits from Software Process Simulation. Conference on Software Engineering and Knowledge Engineering (SEKE'99), Held in Kaiserlautern, Germany, June 1999.

Abstract:

Software Process Simulation is directly linked to software process improvement. Organizations can use software process simulation at all levels of maturity to obtain significant benefits. Some of the key benefits of Software Process Modeling include:

and a number of others. This paper discusses some of the key benefits that can be obtained by companies that engage in software process simulation projects.

[Raffo00b] Raffo, D. M., & Kellner, M. (2000) Empirical Analysis in Software Process Simulation Modeling. Journal of Systems and Software 53, p. 31-41.

Abstract:

Software process simulation modeling is increasingly being used to address a variety of issues from the strategic management of software development, to supporting process improvements, to software project management training. The scope of software process simulation applications ranges from narrow focused portions of the life cycle to longer-term product evolutionary models with broad organizational impacts. This paper discusses some of the important empirical issues that arise in software process simulation modeling. We first address issues concerning real-world data used to 1) establish input parameters to a software process simulation model, and 2) establish actual organizational results against which the model's results (i.e., outputs) will be compared. On the input side, the challenges include small sample sizes, considerable variability and outliers, lack of desired data, loosely defined metrics, and so forth. On the output side, the paper addresses 1) verificaiton and validation of the model, and 2) quantitative approaches to evaluating model ouputs in support of managerial decision making including financial performance using Net Present Value (NPV), multi-criteria utility functions, and Data Envelopment Analysis (DEA). The paper focuses on the stochastic modeling using Monte Carlo simulation. The paper is grounded in the authors' practical application experiences, and major points are illuminated by examples drawn from that field of work.

[Raffo00a] Raffo, D. M., W. Harrison, & J. Vandeville (2000) Coordinating Models and Metrics to Manage Software Projects . International Journal of Software Process Improvement and Practice 5:2/3, June/July 2000. ProSimEA24.pdf.

Abstract:

In previous work we developed techniques for modeling software development processes quantitatively in terms of development cost, product quality, and project schedule using simulation. This work has predominately been applied to the software project management planning function. The goal of our current work is to develop a "forward looking" approach that integrates metrics with simulation models of the software development process in order to support the software project management controlling function. This "forward-looking" approach provides predictions of project performance and the impact of various management decisions. It can be used to assess the project's conformance to planned schedule and resource consumption. This paper reports on work with a leading software development firm to create an approach, that includes a flexible metrics repository and a discrete event simulation model.

[Richmond94] Barry Richmond (1994) System Dynamics/Systems Thinking: Let's Just Get On With It. 1994 International Systems Dynamics Conference in Sterling, Scotland.

Abstract:

The world has many problems. Many of these problems are approaching crisis proportions. The System Dynamics community has something very powerful to contribute to addressing these problems - whether we call that something Systems Thinking or System Dynamics. We have not been very effective in sharing what we have to offer because we have failed to truly appreciate the essence of System Dynamics. As a result, we have both consciously and unwittingly diluted this essence, and in the process made more difficult the task of disseminating what we have to offer. We need to better understand and appreciate the essence of our field, and then focus our energies on the real task at hand: Figuring out why this essence seems to be so difficult for people to grasp, and then fixing that.

[Rodrigues96] Alexandre Rodrigues and Terry Williams (1996) System Dynamics in Software Project Management: towards the development of a formal integrated framework. Management Science, Strathclyde Business School, University of Strathclyde, Glasgow, Scotland. Research Paper No. 1996/5.

Abstract:

Successful software development is becoming increasingly important as software basedsystems are at the core of a company`s new products. However, recent surveys show that most projects fail to meet their targets highlighting the inadequacies of traditional project management techniques to cope with the unique characteristics of this field. Despite the major breakthroughs in the discipline of software engineering, improvement of management methodologies has not occurred, and it is now recognised that the major opportunities for better results are to be found in this area. Poor strategic management and related human factors have been cited as a major cause for failures in several industries. Traditional project management techniques have proven inadequate to incorporate explicitly these higher-level and softer issues. System Dynamics emerged as a methodology for modelling the behaviour of complex socio-economic systems. There has been a number of applications to project management, and in particular in the field of software development. This new approach provides the opportunity for an alternative view in which the major project influences are considered and quantified explicitly. Grounded on a holistic perspective it avoids consideration of the detail required by the traditional tools and ensures that the key aspects of the general project behaviour are the main priority. However, if the approach is to play a core role in future of software project management it needs to embedded within the traditional decision-making framework. The authors developed a conceptual integrated model, the PMIM, which is now being tested and improved within a large on-going software project. Such a framework should specify the roles of system dynamics models, how they are to be used within the traditional management process, how they exchange information with the traditional models, and a general method to support model development. This paper identifies the distinctive contribution of System Dynamics to software management, proposes a conceptual model for an integrated management framework, and discusses its underlying principles.

[Schein96] Schein, E. H. () Three Cultures of Management: The Key to Organizational Learning in the 21st Century. loan Managment Review, Fall 1996, Volume 38, No. 1. Pages: .

Abstract:

The purpose of this article is to provide some possible explanations for the failure of organizational innovations to occur in the first place, or to survive and proliferate. In other words, why do organizations fail to learn how to learn and therefore remain competitively marginal. The typical explanations revolve around vague concepts of "resistance to change," or "human nature," or failures of "leadership." I will propose a more fundamental reason for such learning failures deriving from the fact that in every organization there exist among its sub-cultures three particular cultures, two of which have their roots outside the organization and are therefore more fundamentally entrenched in their particular sets of assumptions. Every organization develops an internal culture based on its operational success, what I will call the "operator culture." But every organization also has in its various functions the designers and technocrats who drive the core technologies of the organization. I will call this the "engineering culture" and note that their fundamental reference group is their world wide occupational community. Every organization also has its executive management, the CEO and his or her immediate subordinates, what I will call the "executive culture." CEO's because of the nature of their jobs and the structure of the capital markets also constitute a world wide occupational community in the sense that they have common problems that are unique to the CEO role.

These three cultures are often out of alignment with each other, and it is this lack of alignment that causes the failures of organizational learning as the below examples will show. This will raise thi question of whether we have misconceived the initial problem by focusing on organizational learning when, in fact, it is the executive and engineering communities that must begin their own learning process if 21st century challenges are to be met.

[Sterman92] Sterman, J. D. (1992) System Dynamics Modeling for Project Management.

Excerpt:

Project management is at once one of the most important and most poorly understood areas of management. Delays and cost overruns are the rule rather than the exception in construction, defense, power generation, aerospace, product development, software, and other areas. Project management suffers from numerous problems of costing and scheduling. Cost overruns of 100 to 200% are common. Projects are often delayed to the point where the market conditions for which they were designed have changed. Many projects suffer from the "90% syndrome" in which a project is thought to be 90% complete for half the total time required. Project management is often counterintuitive. For example, software development often suffers from Brooks' Law, which states "adding resources to a late project makes it even later". Customer design changes are frequent, generating costly ripple effects which create delay and disruption throughout an entire organization. Projects often appear to be going smoothly until near the end, when errors made earlier are discovered, necessitating costly rework, expediting, overtime, hiring, schedule slippage, or reductions in project scope or quality. The consequences of these difficulties include poor profitability, loss of market share and reputation, increased turnover of management and work force, lower productivity, higher costs, and, all too frequently, divisive and costly litigation between customers and contractors over responsibility for overruns and delays.

This paper describes in brief the use of system dynamics modeling for management of large scale projects, including large scale engineering and construction projects. System dynamics has repeatedly been demonstrated to be an effective analytical tool in a wide variety of situations, both academic and practical, and is currently being used by a number of corporations, including Fortune 500 firms, both in the United States and worldwide. Many of the applications of system dynamics, in both academic research and consulting, involve the quantitative assessment of the costs and benefits of various programs, both retrospectively and prospectively. System dynamics models are widely used in project management, including large scale projects in shipbuilding, defense, aerospace, civil construction, and power plants.1 System dynamics models are widely used as well in management of software development.2 The models have been used to manage projects more effectively and to assess the magnitude and sources of cost and schedule overruns in the context of litigation. In addition to project management, system dynamics models are widely used in business strategy and policy assessment. For example, the US. Department of Energy has used system dynamics models of the domestic and international energy system to produce detailed forecasts and policy analysis of energy policies since 1978. Many electric utilities use system dynamics models to analyze policy options for capacity expansion, conservation, pricing, and regulatory changes.3 The following sections highlight the major issues regarding modeling of project dynamics and provide selected references to the academic and professional literature.

[Sweeney00] Sweeney, Linda Booth & Sterman, John D. (2000) Bathtub dynamics: initial results of a systems thinking inventory. System Dynamics Review, Volume 16, Issue 4, 2000. Pages: 249-286.

Abstract:

In a world of accelerating change, educators, business leaders, environmentalists and scholars are calling for the development of systems thinking to improve our ability to take effective actions. Through courses in the K-12 grades, universities, business schools, and corporations, advocates seek to teach people to think systemically. These courses range from one-day workshops with no mathematics to graduate level courses stressing formal modeling. But how do people learn to think systemically? What skills are required? Does a particular type of academic background improve one's ability to think systemically? What systems concepts are most readily understood? Which tend to be most difficult to grasp? We describe initial results from an assessment tool or systems thinking inventory. The inventory consists of brief tasks designed to assess particular systems thinking concepts such as feedback, delays, and stocks and flows. Initial findings indicate that subjects from an elite business school with essentially no prior exposure to system dynamics concepts have a poor level of understanding of stock and flow relationships and time delays. Performance did not vary systematically with prior education, age, national origin, or other demographic variables. We hope the inventory will eventually provide a means for testing the effectiveness of training and decision aids used to improve systems thinking skills. We discuss the implications of these initial results and explore steps for future research.

[Sycamore96] Sycamore, D. (1996) Improving Software Project Management Through System Dynamics Modeling. Master of Science Thesis, Arizona State University, 1996.

Abstract:

Creating schedules and tracking progress are two important activities software managers perform. These activities become exponentially more complex and difficult for large projects. Some managers possess an intuitive talent understanding how a system will behave when modifications are performed and make decisions using these skills and their experience. However, when wrong decisions are made and implemented into a project, disastrous results may occur, reducing the probability of success. Managing a software project and understanding the many system dynamics and feedback loops associated with a project is a formidable task. The larger the project, the more feedback loops, the greater the dynamics, and the reduced probability of reliably predicting an outcome from modifications. Changing only one variable could effect the dynamics of a project with an unpredictable outcome.

In today's market there are plenty of Commercial Off The Shelf (COTS) project management tools available. Many will perform basic features such as scheduling, budget tracking, man-hour reporting, resource allocation, and capital expenditure tracking. However, none of the tools available take into consideration how system dynamic variables effect a project.

This thesis discusses a software management tool developed using equations that represent causal influences rather than statistical correlation. The results are calculated using the system dynamic model developed which takes into consideration areas like communication overhead, schedule pressure, and rework hours generated by defects. Before a software manager makes a modification to a project, this tool can be used to simulate the modification by adjusting the staffing profile, the expertise of the staff, the dependencies of the software increments, and many other features and visually observing the predicted outcome. As the simulation runs, many different outputs are updated in a real-time fashion to the screen and the final results can then be logged for later analysis.

 

[Tvedt96] Tvedt, J. (1996) An Extensible Model for Evaluating the Impact of Process Improvements on Software Development Cycle Time. Ph.D. Dissertation, Arizona State University, 1996.

Abstract:

Reducing software development cycle time without sacrificing quality is crucial to the continued success of most software development organizations. Software companies are investing time and money in reengineering processes incorporating improvements aimed at reducing their cycle time. Unfortunately, the impact of process improvements on the cycle time of complex software processes is not well understood. The objective of this research was to provide a model that will enable researchers and software project managers to evaluate the impact a set of process improvements will have on their software development cycle time. This dissertation describes the initial results of developing such a model, specifically, concurrent incremental software development, and applying it to assess the impact of software inspections. The model enables researchers and software project managers to gain insight and perform controlled experiments to answer "What if?" type questions, such as, "What kind of cycle time reduction can I expect to see if I implement inspections?" or "How much time should I spend on inspections?"

 

[Tvedt95] Tvedt, J. D. & Collofello, J. S. (1995) Evaluating the Effectiveness of Process Improvements on Software Development Cycle Time via System Dynamics Modeling. Computer Software and Applications Conference (CompSAC'95), 1995.

Abstract:

Reducing software development cycle time without sacrificing quality is crucial to the continued success of most software development organizations. Software companies are investing time and money in reengineering processes incorporating improvements aimed at reducing their cycle time. Unfortunately, the impact of process improvements on the cycle time of complex software processes is not well understood. The objective of our research has been to provide decision makers with a model that will enable the prediction of the impact a set of process improvements will have on their software development cycle time. This paper describes our initial results of developing such a model and applying it to assess the impact of software inspections. The model enables decision makers to gain insight and perform controlled experiments to answer "What if?" type questions, such as, "What kind of cycle time reduction can I expect to see if I implement inspections?" or "How much time should I spend on inspections?"

[Westerberg]Arthur W. Westerberg, Eswaran Subrahmanian, Yoram Reich, Suresh Konda and the n-dim group () Designing the Process Design Process. . Pages: .

Abstract:

We suggest that designing design processes is an ill-posed problem which must be tackled with great care and in an evolutionary fashion. We argue it is an important activity, however, as companies today use a small percentage of the intellectual capital they own when designing, suggesting there is room for significant improvement. We discuss who in industry and academia are currently involved with designing design processes. Based on empirical studies we and others have carried out, we have based our approach to study and support design processes on managing the information they generate and use. We are learning how to carry out studies more effectively with industrial partners, what features we need for managing information to study and improve design processes. We are even learning some general observations about the effect of different behavior of the group on its success at designing.

[Wilensky99] Wilensky, U. & Resnick, M. (1999) Thinking in Levels: A Dynamic Systems Approach to Making Sense of the World. Journal of Science Education and Technology. Vol. 8 No. 1. pp. 3 - 18.

Abstract:

The concept of emergent "levels" (i.e. levels that arise from interactions of objects at lower levels) is fundamental to scientific theory. In this paper, we argue for an expanded role for this concept of "levels" in science education. We show that confusion of levels (and "slippage" between levels) as the source of many of people's deep misunderstandings about patterns and phenomena in the world. These misunderstandings are evidenced not only in students' difficulties in the formal study of science but also in their misconceptions about experiences in their everyday lives. The StarLogo modeling language is designed as a medium for students to build models of multi-leveled phenomena and through these constructions explore the concept of levels. We describe several case studies of students working in StarLogo. The cases illustrate students' difficulties with the concept of levels, and how they can begin to develop richer understandings.

Modified: June 17, 2005

Richard Upchurch (rupchurch@umassd.edu)

Computer and Information Science Department
University of Massachusetts Dartmouth
285 Old Westport Rd.
N. Dartmouth, MA 02747-2300