Focuses on papers using system dynamic modeling to explore software development and software processes. 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.
Abstract:
People issues have gained recognition, in recent years, as being at the core of effective software project management. In this paper we focus on the dynamics of software project staffing throughout the software development lifecycles. Our research vehicle is a comprehensive system dynamics model of the software development process. A detailed discussion of the model's structure as well as its behavior is provided. The results of a case study in which the model is used to simulate the staffing practices of an actual software project is then presented. The experiment produces some interesting insights into the policies (both explicit and implicit) for managing the human resource, and their impact on project behavior. The decision-support capability of the model to answer what-if questions is also demonstrated. In particular, the model is used to test the degree of interchangeability of men and months on the particular software project.
Abstract:
Software systems development has been plagued by cost overruns, late deliveries, poor reliability, and user dissatisfaction. This article presents a paradigm for the study of software project management that is grounded in the feedback systems principles of system dynamics.
Abstract:
This paper presents a study with the intent to examine the opportunities provided by creating and using simulation models of software development processes. A model of one software development project was created through means of system dynamics, with data collected from documents, interviews and observations. The model was simulated in a commercial simulation tool. The simulation runs indicate that increasing the effort spent on the requirements phase, to a certain extent, will decrease the lead-time and increase the quality in similar projects. The simulation model visualizes relations in the software process, and can be used by project managers when planning future projects. The study indicates that this type of simulation is a feasible way of modelling the process dynamically although the study calls for further investigations as to how project or process managers can benefit the most from using system dynamics simulations.
Abstract:
In this paper we present a technique that helps the analysis of system dynamics models. The technique, namely Event Tracking, maps simulation trends over time to predefined events. It uses state machines whose behavior can be traced to changes suffered by selected variables in a system dynamics model. Changes to variable values trigger messages, which are presented to the model analyst to help the interpretation of the underlying model behavior.
Event Tracking is an interesting feature to system dynamics simulators, since it maps the mathematical results achieved through simulation to natural language statements. It allows a trainer assistant to define the relevant events for a model, highlighting the model major features through event messages. We have implemented the proposed technique in the ILLIUM system dynamics simulator. The simulator also allows a student to track model behavior, executing a simulation and following the presented messages.
Abstract:
The quality of a development process directly affects the quality of its produced artifacts. Based on this assumption, some research efforts have moved from improving just products to enhancing process quality. Different software process alternatives are possible for a software project. However, when several alternatives are made available, process improvement efforts are selected most of the cases based only on expert knowledge. This can be a risky selection method, due the complex nature of software development, which may induce counter-intuitive reasoning and process behavior prediction.
By considering the software development process as a complex dynamic system, this paper presents some applications of process modeling and dynamic simulation as tools for quality evaluation, prediction, and improvement of software processes. We explore a software project model and three simulation approaches, presenting an example of their application in project schedule prediction and quality assessment effort impact upon schedule.
Abstract:
This paper describes a high-level System Dynamics model of a real-world software evolution process. This process is evolving the kernel (low-level routines)of VME, the operating system of a long-lived and successful series of ICL mainframe computers.The model has been developed as part of the continuing FEAST project,which is investigating the role and impact of feedback in the global software process.The modelling approach is top-down,which has resulted in a simple model reflecting elements of the global software process at a high level of abstraction.The actual behaviour of the software evolution process being studied,in terms of enhancements completed and modules added to the kernel over a period of 13 years, is closely simulated by model outputs.The work reported here,together with the previous construction and calibration of an equivalent model for a different type of software product being evolved in a different context,provides support to the FEAST hypothesis, which states that software evolution processes are feedback systems.The models also suggest that feedback pressures from outside immediate technical software processes have an important influence on the dynamics of the overall software process processes,and on the resultant evolutionary product and process trends.
Abstract:
This paper shows how simulation can be of significant benefit in supporting software process improvment and, in particular, how it supports the capability maturity model (Paulk et al., 1993. Capabilty maturity model for software, version 1.1. Software Enginering Institute Report CMU/SEI-93-TR-24). In the latter context it is shown that simulation can be used to supoort improvement at all five levels of the CMM. Simulation capability at each CMM level incrementally builds upon the simulation capabilties of the preceding leves, and match the needs of the software engineering practices at that level.
Abstract:A software product is often behind schedule, over budget, non-conforming to requirements and of poor quality. Controlling and improving the processes used to develop software has been proposed as a primary remedy to these problems. The Software Engineering Institute at Carnegie Mellon University has published the Software Capability Maturity Model (SW-CMM) for use as a set of criteria to evaluate an organization's Process Maturity. The model is also used as a roadmap to improve a software development process's maturity. The premise of the SW-CMM is that mature development processes deliver products on time, within budget, within requirements, and of high quality.
This research examines the effects of Software Process Maturity, using the SW-CMM, on software development effort. Effort is the primary determinant of software de-velopment cost and schedule. The technical challenge in this research is determining how much change in effort is due solely to changing Process Maturity when this change generally occurs concurrently with changes to other factors that also influence software development effort.
The six mathematical models used in this research support the following conclusion: For the one hundred twelve projects in this sample, Software Process Maturity was a significant factor (95% confidence level) affecting software development effort. After normalizing for the effects of other effort influences, a one-increment change in the rating of Process Maturity resulted in a 15% to 21% reduction in effort. The modeling approach used in this analysis can be used in other areas of Software Engineering as well.
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
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.
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.
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.
Abstract:
The burden of organizational learning surrounding software process innovations (SPIs)-and complex organizational technologies in general-creates a "knowledge barrier" that inhibits diffusion. Paul Attewell has suggested that many organizations will defer adoption until knowledge barriers have been sufficiently lowered; however, this leaves open the question of which organizations should be more likely to innovate, even in face of high knowledge barriers. It is proposed here that organizations will innovate in the presence of knowledge barriers when the burden of organizational learning is effectively lower, either because much of the required know-how already exists within the organization, or because such knowledge can be acquired more easily or more economically. Specifically, it is hypothesized that organizations will have a greater propensity to initiate and sustain the assimilation SPIs when they have a greater scale of activities over which learning costs can be spread (learning-related scale), more extensive existing knowledge related to the focal innovation (related knowledge), and a greater diversity of technical knowledge and activities (diversity). An empirical study using data on the assimilation of object oriented programming languages (OOPLs) by 608 US business sites strongly confirmed the importance of the three hypothesized factors in explaining the assimilation of OOPLs.
Abstract:
Most software process simulation work has focused on the roles and uses of software process simulators, on the scope of models, and on simulation approaches. Consequently, the literature reflects a growing body of models that have recently been characterized by modeling purpose, scope, key result variables, and simulation method. While the software process simulation arena is maturing, little effort appears to have been given to statistical evaluation of model behavior through sensitivity analysis. Rather, most of software process simulation experimentation has examined selected factors for the sake of understanding their effects with regard to particular issues, such as the economics of quality assurance or the impact of inspections practice. In a broad sense, sensitivity analysis assesses the effect of each input on model outputs. Here, we discuss its use for behaviorally characterizing software process simulators. This paper discusses the benefits of using sensitivity analysis to characterize model behavior; the use of experimental design for this purpose; our procedure for using designed experiments to analyze deterministic simulation models; the application of this procedure to four published software process simulators; the results of our analysis; and the merits of this approach.
Abstract:
One of the proposed purposes for software process simulation is the management of software development risks, usually discussed within the category of project planning/management. However, modeling and simulation primarily for the purpose of software development risk management has been quite limited. This paper describes an approach to modeling risk factors and simulating their effects as a means of supporting certain software development risk management activities. The effects of six common and significant software development risk factors were studied. A base model was then produced for stochastically simulating the effects of the selected factors. This simulator is a tool designed specifically for the risk management activities of assessment, mitigation, contingency planning, and intervention.
Abstract:
Despite the demonstrated benefits of improvement programs such as total quality management and reengineering, most improvement programs end in failure. Companies have found it extremely difficult to sustain even initially successful process improvement programs. Even more puzzling, successful improvement programs sometimes worsen business performance, triggering layoffs, low morale, and the collapse of commitment to continuous improvement. We term this phenomenon the "Improvement Paradox." For the last four years, we have worked with a variety of firms to understand the paradox and design policies to overcome it. Our findings suggest that the inability to manage an improvement program as a dynamic process is the main determinant of program failure. Improvement programs are tightly coupled to other functions and processes in the firm, and to the firm's customers, suppliers, competitors and capital markets. Failure to account for the feedbacks among these tightly coupled activities leads to unanticipated and often harmful side effects. We describe these dynamics and offer some guidance for managers seeking to design sustainable process improvement programs.
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 article provides an overview of work being conducted in this field. It identifies the questions and issues that simulation can be used to address ("why"), the scope and variables that can be usefully simulated ("what"), and the modeling approaches and techniques that can be most productively employed ("how"). It includes a summary of the papers in this special issue of the Journal of Systems and Software, which were presented at the First International Silver Falls Workshop on Software Process Simulation Modeling (ProSim'98). It also provides a framework that helps characterize work in this field, and applies this new characterization scheme to many of the articles in this special issue. This paper concludes by offering some guidance in selecting a simulation modeling approach for practical application, and recommending some issues warranting additional research.
Abstract:
Despite major advances in programming methodology, industry still faces major problems in developing and maintaining E-type software - software that implements computer applications in the real world. The paper suggests that a possible constraint on software process improvement arises from the fact that the global software process that includes technical, business, marketing, user and other activities constitutes a multi-loop, multi-level feedback system. To change the characteristics of such a system requires one to consider, design or adapt and tune both forward and feedback paths to achieve the desired changes in externally visible behaviour. It should, therefore not come as a surprise that the overall improvements achieved fall far below expectations. After all, current world-wide process models and improvement activities focus primarily on the forward technical path and overlook the many feedback paths and the constraints that they impose on improvement of the project. A recently launched project, FEAST, and a hypothesis by the same name, will investigate these observations and their consequences on the basis of an international collaborative investigation
Abstract:
Early data on the phenomenology of software system evolution suggest that such evolution involves and is, to some extent, governed byfeedback. This feedback may take the form of information fed back to individuals or groups as a form of learning from experience or may take the form of observation and data that are used to control some aspect of the process. For the moment, we shall put the former to one side and concentrate only on feedback to explicit control mechanisms.
Initial investigations, using a basic model for feedback control, have exposed a variety of reasons why software processes are not amenable to classical feedback control: software processes are design, not production processes; control-directed process changes tend to be step functions, not regulatory ones, and are often as creative as the processes they control; and system development and evolution processes are still immature with little theory to guide the design and application of regulation control mechanisms. Despite these limitations, we have found promising examples of feedback control and, on the basis of more recent phenomenological evidence, believe this area of research to be critically important and vital to understanding and controlling the development and evolution of software systems and improvement of software processes.
Abstract:
Data obtained during a 1968 study of the software process [leh69] led to an investigation of the evolution of OS/360 [leh85] and and, over a period of twenty years, to formulation of eight Laws of Software Evolution.. The FEAST project recently initiated (see sections 4 - 6 below) is expected to throw additional light on the phenomenology underlying these laws, to increase understanding of them, to explore their finer detail, to expose their wider relevance and implications and to develop means for their beneficial exploitation. This paper is intended to trigger wider interest in the laws and in the FEAST study of feedback and feedback control in the context of the software process and its improvement to ensure beneficial exploitation of their potential.
Abstract:
The process of E-type software development and evolution has proven most difficult to improve, possibly due to the fact that the process is a multi-input, multi-output system involving feedback at many levels. This observation, first recorded in the early 70s during an extended study of OS/360 evolution, was recently captured in a FEAST hypothesis; a hypothesis being studied in on-going two-year project, FEAST/1. Preliminary conclusions based on a study of a financial transaction system, FW, are outlined and compared with those reached during the earlier OS/360 study. The new analysis supports, or better does not contradict, the laws of software evolution, suggesting that the 1970s approach to metric analysis of software evolution is still relevant today. It is hoped that FEAST/1 will provide a foundation for mastering the feedback aspects of the software evolution process, opening up new paths for process modelling and improvement.
Abstract:
A 1968 study of the software process led, inter alia, to the observation that the software process constitutes a feedback system. Attempts at its management and improvement must take this basic fact into consideration if optimum results are to be obtained. A project, FEAST/1, was initiated in 1996 to examine the assertion. Its objective is to identify feedback mechanisms and controls in the software evolution processes of several industrial collaborators, assess their impact and examine their role and potential in process improvement. The approach being used in the study is to construct black box, white box (System Dynamics) and other classes of process models of selected collaborator systems on the basis of the available process evolution metrics and other global data about process components and structures.
The feedback that exists in these processes involves many humans in many roles. These observe, interpret, communicate, listen and act (or not). Global models of their activities cannot, however, in general, reflect the actions or behaviours of individuals. The level of detail which global process models can reflect is, therefore, limited.
As a complex multi level multi loop feedback system , the long term behavioural patterns and trends of software processes are largely determined by its internal dynamics which, in turn is feedback generated and controlled. Process models must, therefore, reflect the feedback phenomenon. Individual human assumption and decision plays a central role in the feedback processes and this must be taken into account when considering the human dimension, the role and impact of people, in and on the process. Individually this cannot be done, but the aggregate effect of many individual decisions by many people may, in general, be represented by statistical means. One constructs, therefore, meaningful models relating to global process behaviour over time without addressing individual behaviour. In practice, this is not a significant limitation since individual actions have, in general, only local, impact on the long term performance of the global process.
The paper includes brief mention of FEAST/1 results to date and provides literature references for further detail.
Abstract:
As part of its study of the impact of feedback in the global software process on software product evolution, the FEAST/1 project has examined metric data relating to various systems in different application areas. High level similarities in the growth trends of the systems studied support the FEAST hypothesis. Inter alia, the results provide evidence compatible with the laws of software evolution, subject only to minor adjustments of the latter.
Abstract:
A brief review of the difficulty of achieving major improvement in the global software evolution process introduces the FEAST hypothesis that this may be partly due to the fact that the global process is a complex feedback system. Results to date from the FEAST/1 project support this hypothesis and the laws of software evolution of which the first were formulated in the 1970s. The project is exploring the phenomenon in depth by modelling the evolution of number of industrial projects using both black box and system dynamics techniques. It expects also to demonstrate the impact of feedback on process behaviour and improvement.
Abstract:
The FEAST/1 project is investigating a hypothesis that the software process is a multi level feedback system. Using a number of complementary approaches to model, analyse and interpret metric and other data records of the evolution of systems from various application ar- eas, the project has made significant advances in detecting the effect of feedback and related dynamics in the their evolution. Results obtained to date, supported by theoretical reasoning, support the view that software process improvement must focus on the global process including its feedback mechanisms. In addition to technical aspects of the process, organisation, management, marketing, user support and other factors must also be considered. This paper discusses the conceptual framework within which this question is raised, presents preliminary evidence to support tentative conclusions and indicates how the issue might be further investigated.
Abstract:
Modelling and analysis of the evolution of several industrial software systems, on the basis of empirical data obtained as part of the recently completed FEAST/1 research project, confirm conclusions from an early seventies study of IBM OS/360-370. In particular, they are largely consistent with the laws of software evolution developed from the results of the earlier study. FEAST/1 results also support the view that global development and evolution processes of real world software (E-type) are multi-agent, multi-loop, multi-level feedback systems and reinforce the assertion that the feedback nature of the software process has to be taken into account in mastering that process and in achieving its sustainable improvement. This paper concentrates on growth data and provides examples of theoretical and empirical evidence of feedback based on a subset of the results obtained, indicating also issues requiring further elucidation.
Abstract:
In the context of a hypothesis attributing the slow progress in achieving major global software process improvement, in part, to overlooking the role of feedback in that process, the FEAST/1 project is studying the impact of feedback on software evolution. Amongst its activities the project is analysing metrics of the evolution of several industrial systems, ranging from a financial transaction system to a very large real time system. The similarities which have emerged from a comparison of evolution metrics from several systems, support conclusions reached in a 1970s study of OS/360 evolution. The latest results suggest some refinement of earlier conclusions but indicate that both the metrics and the conclusions derived from them must be taken into account in the planning and implementation of successful software maintenance. Papers discussing the FEAST/1 results may accessed via the FEAST web page [fwp98]. results obtained to date. After a brief overview of FEAST concepts, the paper considers two metrics of system evolution (section 8) and their implications. The discussion is intended to provide an example of the application of metric analysis to software maintenance, showing how simple and widely available, metrics can be used to obtain valuable insights on software maintenance and, more generally, evolution. For a more general view of the project and its results the reader is referred to the FEAST web page [fwp98].
Abstract:
The authors describe an intelligent tool designed to aid managers of software development projects in planning, managing, and controlling the development process of medium- to large-scale software projects. Its purpose is to reduce uncertainties in the budget, personnel, and schedule planning of software development projects. It is based on dynamic models for the software development and maintenance life-cycle process. This dynamic process is composed of a number of time-varying, interacting developmental phases, each characterized by its intended functions and requirements. System dynamics is used as a modeling methodology. The resulting software life-cycle simulator (SLICS) and the hybrid expert simulation system of which it is a subsystem are described.
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, an interactive earned value model, requirements volatility and a detailed peer review model. The perspective of some of the models has been at a multi-project or departmental level including domain learning, product-line reuse processes and resource contention among projects. Insights 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 organizational learning. 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 interrelated technical and social factors coupled with simulation tools has enabled GCS to improve their planning and management 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 are flight training scenarios that the students interact with to practice project control. 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
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.
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.
Abstract:
Simulation models of the software development process can be used to evaluate potential process changes. Careful evaluation should consider the change within the context of the project environment. While system dynamics models have been used to model the project environment, discrete event and state-based models are more useful when modeling process activities. Hybrid models of the software development process can examine questions that cannot be answered by either system dynamics models or discrete event models alone. In this paper, we present a detailed hybrid model of a software development process currently in use at a major industrial developer. We describe the model and show how the model was used to evaluate simultaneous changes to both the process and the project environment.
Abstract:
Software process models have been simulated using system dynamics and discrete modeling paradigms. System dynamics models describe the interaction between project factors, but do not easily represent queues and discrete process steps. On the other hand, discrete event models describe process steps, but may not have enough events to represent feedback loops accurately. We develop a combined model that represents the software development process as a series of discrete process steps executed in a continuously varying project environment. We demonstrate the feasibility of this model by combining a discrete event model of the ISPW6 software process example with the system dynamics model developed by Abdel-Hamid and Madnick [Abdel-Hamid and Madnick 91]. The combination of these two modeling paradigms creates the opportunity to examine new problems and issues that are highly relevant to software project managers.
Abstract:
The organisation management and social science literature are rich in descriptions of models relevant to the software development process. However, even the most prescriptive of these models are not specified with any great degree of formality. Nevertheless, key aspects of these models can be represented using more formal modelling approaches. This, in turn, allows the definition and development of evaluation environments that allow the rapid prototyping of persistent process models which effectively embody technical, organisational, social and human factors. A software engineering process modelling framework is presented. The focus of this work is on behavioural aspects. A feature of the framework is that user views, in a variety of modelling formalisms, may be extracted from a common, highly-abstracted conceptual model. Examples of Òuser viewsÓ represented and implemented in Prolog and a systems dynamics modelling tool are presented.
Abstract:
There is a growing consensus that if substantial software engineering productivity improvements are to be realised, much greater attention must be paid to the so-called "softer" (or people-centred) factors. A software engineering process modelling framework is presented. The focus of this work is on behavioural aspects.. A feature of the framework is that user views, in a variety of modelling formalisms, may be extracted from a common, highly-abstracted conceptual model. This is consistent with an emerging view that development of more formal models of organization and management theory (OMT) requires a "horses for courses" approach. That is, different theories are often best represented using different paradigms, with the conceptual model serving as a common reference point through which consistent user views may be derived and verified. Examples of user views, represented and implemented in Prolog and a systems dynamics modelling tool, are presented.
Abstract:
A software engineering process modelling framework is presented. The focus of this work is on behavrioural aspects. The aim is to emposer project managers and others involved in systems development to better deal with the critical human aspects inherent in all non-trivial projects. A feature of the framewok is that user views, ina variety of modelling formalisms, may be extracted from a common, highly-abstracted conceputal model. An example of a "user view" represeted and implemented in Prolog is presented. This work extends previous reaearch into the derivation and automated implementation of formal models of organisation and management theories.
Abstract:
In this paper, we present some preliminary findings from a major, three-year research project being undertaken within a large Australian information services provision company. Our study involves a highly-complex, intra-organisational collaboration problem that is costing the company a great deal of money. On the surface, the revenue losses are the result of an apparent inability of the organisation’s customer-service staff to follow specified procedures when taking customer orders. At a deeper level, the losses appear to be the result of poor coordination between the many units within the organisation involved in product marketing and development, customer service, and business support functions. In addition, these coordination difficulties are being compounded by a number of reinforcing, feedback loops which appear to be having an increasingly negative impact on staff motivation, knowledge and turnover (among other factors). We report here on our efforts to model and analyse the business processes in question. A distinguishing feature of our modelling approach is that our focus is very much on "softer" organisational behaviour aspects.
Notes: JO
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.
Abstract:
Organizations interested in improving their process performance face two key questions:
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.
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:
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.
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.
Abstract:
This paper describes the use of a process simulator to support software project planning and management. The modeling approach here focuses on software reliability, but is just as applicable to other software quality factors, as well as to cost and schedule factors. The process simulator was developed as a part of a decision support system for assisting project managers in planning or tailoring the software development process, in a quality driven manner. The original simulator was developed using the system dynamics approach. As the model evolved by applying it to a real software development project, a need arose to incorporate the concepts of discrete event modeling. The system dynamics model and discrete event models each have unique characteristics that make them more applicable in specific situations. The continuous model can be used for project planning and for predicting the effect of management and reliability engineering decisions. It can also be used as a training tool for project managers. The discrete event implementation is more detailed and therefore more applicable to project tracking and control. In this paper the structure of the system dynamics model is presented. The use of the discrete event model to construct a software reliability prediction model for an army project, the Crusader, is described in detail.
Abstract:
This paper presents data that describe the effects on software development performance due to both the production methods of software development and the social processes of how software developers work together. Data from 40 software development teams at one site that produces commercial software are used to assess the effects of production methods and social processes on both software product quality and team performance. Findings indicate that production methods, such as the use of software methodologies and automated development tools, provide no explanation for the variance in either software product quality or team performance. Social processes, such as the level of informal coordination and communication, the ability to resolve intragroup conflicts, and the degree of supportiveness among the team members, can account for 25 percent of the variations in software product quality. These findings suggest two paradoxes for practice: (1) that teams of software developers are brought together to create variability and production methods are used to reduce variability, and (2) that team-level social processes may be a better predictor of software development team performance than are production methods. These findings also suggest that factors such as other social actions or individual-level differences must account for the large and unexplained variations in team performance.
Abstract:
This paper introduces the problem of understanding what software process redesign (SPR) is, and how software process modeling, analysis and simulation may be used to support it. It provides an overview of research results from business process redesign to help draw attention to the importance of treating process redesign as a process of organizational and process transformation. This in turn requires examining and practicing SPR through an approach that combines organizational change management together with process management technologies. A discussion follows which then identifies a number of topic areas that require further study in order to make SPR a subject of software process research and practice.
Abstract:
In this paper, I describe an approach and experiences in developing and applying simulation and modeling technologies to software processes. Processes for both software development and use have been investigated. As such, the focus of this paper is organized around three topics for software process simulation and modeling. First, I describe an approach and examples of software simulation and modeling as investigated with knowledge-based process engineering environment developed at USC. Second, I describe how by focusing on process modeling, analysis, and simulation, we are led to expand the scope of work with software processes toward a more comprehensive software process life cycle engineering. Third, I describe some of the lessons learned from applying modeling and simulation concepts, techniques, and tools to software processes in a variety of organizational settings. Conclusions then stress the complementary value arising from the use of both qualitative and quantitative technologies for software process simulation and modeling.
Abstract:
The management of organizational change is an essential element of successful software process improvement efforts. This paper describes ten factors that affect organizational change in software process improvement initiatives based on the Capability Maturity Model or the ISO 9000 quality standards. It also assesses the relative importance of these factors and compares the findings with the results of previous research into organizational change in software process improvement. The paper is based on an analysis of published experience reports and case studies of 56 software organizations that have implemented an ISO 9000 quality system or that have conducted a CMM-based process improvement initiative.
Abstract:
Recent evidence suggests the connection between quality improvement and financial results may be weak. Consider the case of Analog Devices, Inc., a leading manufacturer of integrated circuits. Analog's TQM program was a dramatic success. Yield doubled, cycle time was cut in half, and product defects fell by a factor of ten. However, financial performance worsened. To explore the apparent paradox we develop a detailed simulation model of Analog, including operations, financial and cost accounting, product development, human resources, the competitive environment, and the financial markets. We used econometric estimation, interviews, observation, and archival data to specify and estimate the model. We find that improvement programs like TQM can present firms with a tradeoff between short and long run effects. In the long run TQM can increase productivity, raise quality, and lower costs. In the short run, these improvements can interact with prevailing accounting systems and organizational routines to create excess capacity, financial stress, and pressures for layoffs that undercut commitment to continuous improvement. We explore policies to promote sustained improvement in financial as well as nonfinancial measures of performance.
Notes: JO
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.
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?"
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?"
Abstract:
This paper describes the development of a macro-scale model that predicts staffing, training and infrastrucure funding over a five year period for the FedEx Information TEchnology Division. A system dynamics model was built using regressions on business, system and productivity metrics coupled with business projections. The model generated expected demands for development, support and infrastrucyure rollout. IT management was provided with a dashboard of strategic factors that could be adjusted to detrmine the impact on workloads and productivity of the IT organization. Model outputs were judged acceptable by managment for order-of-magnitiude budget and planning estimates. More important, the exercise galvanized IT mangement's commitment to process improvemetns and architecture and focussed attention on human resource strategies.
Last Update: July 2, 2003.