An integrated approach to simulation based learning in support of strategic and project management in software organisations

Industrial software development is a highly complex, dynamic task, which is not only determined by the choice of the right technologies but also – to a large degree – by the knowledge and skills of the people involved. The success of software organisations depends on its ability to facilitate continuous improvement of products and processes (strategic level) and on the effectiveness and efficiency of product development (project level). On both levels management takes the key role. The focus of this PhD research is on simulation-based learning to support both strategic and project management in software organisations. The main contribution of the research work lies in the design, application and validation of a framework for Integrated Measurement, Modelling, and Simulation (IMMoS). The IMMoS framework supports managers to cope with the dynamic complexity of software development by providing guidance on building and using quantitative simulation models as a source for learning and improvement. Simulation models are valuable tools for managers because they help them understand the effects of new technologies and policies on the performance of software development processes. Based on simulations, managers can explore and analyse potential improvements before implementation and empirical evaluation of the related process changes in a pilot project. In addition, quantitative simulation models can be used to support planning and control tasks. The core element of IMMoS is the simulation modelling method System Dynamics (SD), which integrates quantitative (black-box) and explanatory (white-box) modelling in a natural way. The novelty of IMMoS is twofold. Firstly, it enhances existing guidance for SD model development by adding a component that enforces goal-orientation, and by providing a refined process model with detailed description of activities, products, and roles involved in SD modelling and simulation. Secondly, it describes how to integrate SD modelling with established static black-box and white-box modelling methods, i.e. goal-oriented measurement and descriptive process modelling. IMMoS has been successfully applied in industrial software organisations. The effectiveness and efficiency of IMMoS is supported with empirical evidence from two industrial case studies and one controlled experiment. diss.book Page v Tuesday, November 27, 2001 10:26 AM

[1]  Victor R. Basili,et al.  The Experimental Paradigm in Software Engineering , 1992, Experimental Software Engineering Issues.

[2]  Bashar Nuseibeh,et al.  Software process modelling and technology , 1994 .

[3]  N.H. Madhavji,et al.  Elicit: a method for eliciting process models , 1994, Proceedings of the Third International Conference on the Software Process. Applying the Software Process.

[4]  Ioana Rus,et al.  Software process simulation for reliability management , 1999, J. Syst. Softw..

[5]  J. D. Sterman,et al.  The growth of knowledge: testing a theory of scientific revolutions with a formal model , 1985 .

[6]  Tarek K. Abdel-Hamid,et al.  Investigating the cost/schedule trade-off in software development , 1990, IEEE Software.

[7]  A G Rodrigues,et al.  System dynamics in software project management: towards the development of a formal integrated framework , 1997 .

[8]  Jørgen Randers Conceptualizing dynamic models of social systems: lessons from a study of social change. , 1973 .

[9]  Lionel C. Briand,et al.  Practical guidelines for measurement-based process improvement , 1996, Softw. Process. Improv. Pract..

[10]  John D. W. Morecroft,et al.  Rationality in the Analysis of Behavioral Simulation Models , 1985 .

[11]  Pieter Derks,et al.  Product focused process improvement in the embedded systems industry , 1999 .

[12]  R G Coyle,et al.  System Dynamics Modelling: A Practical Approach , 1996 .

[13]  Alfred Bröckers,et al.  The role of software process modeling in planning industrial measurement programs , 1996, Proceedings of the 3rd International Software Metrics Symposium.

[14]  Roger Fletcher,et al.  A Rapidly Convergent Descent Method for Minimization , 1963, Comput. J..

[15]  Reidar Conradi,et al.  Process Modeling Paradigms: An Evaluation , 1991, Proceedings of the 7th International Software Process Workshop, Communication and Coordination in the Software Process'.

[16]  Alfonso Fuggetta,et al.  DynaMan: a tool to improve software process management through dynamic simulation , 1992, [1992] Proceedings of the Fifth International Workshop on Computer-Aided Software Engineering.

[17]  Capers Jones,et al.  Applied software measurement: assuring productivity and quality , 1991 .

[18]  Sergio Bandinelli,et al.  Modeling and Improving an Industrial Software Process , 1995, IEEE Trans. Software Eng..

[19]  Dietmar Pfahl,et al.  System Dynamics Applied to the Modelling of Software Projects , 1994, Softw. Concepts Tools.

[20]  Martin Verlage,et al.  Directions in Software Process Research , 1995, Adv. Comput..

[21]  C.D. Klingler,et al.  A case study in process representation using MVP-L , 1992, COMPASS `92 Proceedings of the Seventh Annual Conference on Computer Assurance.

[22]  Ray Offen,et al.  Establishing Software Measurement Programs , 1997, IEEE Softw..

[23]  DIETMAR PFAHL,et al.  Knowledge Acquisition and Process Guidance for Building System Dynamics Simulation Models: an Experience Report from Software Industry , 2000, Int. J. Softw. Eng. Knowl. Eng..

[24]  Bill Curtis,et al.  Process modeling , 1992, CACM.

[25]  Meir M. Lehman,et al.  The impact of feedback in the global software process , 1999, J. Syst. Softw..

[26]  Kurt Schneider,et al.  SESAM-simulating software projects , 1992, Proceedings Fourth International Conference on Software Engineering and Knowledge Engineering.

[27]  Verzekeren Naar Sparen,et al.  Cambridge , 1969, Humphrey Burton: In My Own Time.

[28]  Eric F. Wolstenholme,et al.  System Enquiry: A System Dynamics Approach , 1990 .

[29]  Alan M. Christie Simulation: An Enabling Technology in Software Engineering , 1999 .

[30]  Victor R. Basili,et al.  Software development: a paradigm for the future , 1989, [1989] Proceedings of the Thirteenth Annual International Computer Software & Applications Conference.

[31]  Alfred Bröckers Modellbasierte Analyse von Software-Projektrisiken , 1997 .

[32]  Dietmar Pfahl,et al.  An experiment for evaluating the effectiveness of using a system dynamics simulation model in software project management education , 2001, Proceedings Seventh International Software Metrics Symposium.

[33]  Donald A. Schön,et al.  Organizational Learning: A Theory Of Action Perspective , 1978 .

[34]  Volker Gruhn,et al.  The FUNSOFT Net Approach to Software Process Management , 1994, Int. J. Softw. Eng. Knowl. Eng..

[35]  A. Pnueli,et al.  STATEMATE: a working environment for the development of complex reactive systems , 1988, [1988] Proceedings. The Third Israel Conference on Computer Systems and Software Engineering.

[36]  Lawrence H. Putnam,et al.  A General Empirical Solution to the Macro Software Sizing and Estimating Problem , 1978, IEEE Transactions on Software Engineering.

[37]  Dietrich Doerner,et al.  On the Difficulties People Have in Dealing With Complexity , 1980 .

[38]  Wolfgang Emmerich,et al.  MERLIN: Knowledge-based Process Modeling , 1991 .

[39]  Y. Barlas Multiple tests for validation of system dynamics type of simulation models , 1989 .

[40]  John D. W. Morecroft,et al.  System dynamics and microworlds for policymakers , 1988 .

[41]  R. Lathe Phd by thesis , 1988, Nature.

[42]  Martin Verlage Ein Ansatz zur Modellierung großer Software-Entwicklungsprozesse durch Integration unabhängig erfaßter rollenspezifischer Sichten , 1998 .

[43]  David Harel,et al.  Modeling Reactive Systems With Statecharts : The Statemate Approach , 1998 .

[44]  Victor R. Basili,et al.  Improve Software Quality by Reusing Knowledge and Experience , 1995 .

[45]  Carlo Ghezzi,et al.  Software processes representation languages: survey and assessment , 1992, Proceedings Fourth International Conference on Software Engineering and Knowledge Engineering.

[46]  R Likert,et al.  A TECHNIQUE FOR THE MEASUREMENT OF ATTITUDE SCALES , 1932 .

[47]  Alfred Bröckers,et al.  Process-Based Software Risk Assessment , 1995, EWSPT.

[48]  Victor R. Basili,et al.  Establishing measurement for software quality improvement , 1994, Business Process Re-Engineering.

[49]  Dietmar Pfahl,et al.  Using Simulation to Visualise and Analyse Product-Process Dependencies in Software Development Projects , 2000, PROFES.

[50]  David C. Lane,et al.  On a Resurgence of Management Simulations and Games , 1995 .

[51]  W. A. Ferrell,et al.  Arizona State University , 2019, Organizational Heartbeats.

[52]  Victor R. Lesser,et al.  A plan-based intelligent assistant that supports the software development , 1989, SDE 3.

[53]  Markku Oivo,et al.  Adopting GQM-Based Measurement in an Industrial Environment , 1998, IEEE Softw..

[54]  Tilo Messer,et al.  Siemens process assessment and improvement approaches: experiences and benefits , 1998, Proceedings. The Twenty-Second Annual International Computer Software and Applications Conference (Compsac '98) (Cat. No.98CB 36241).

[55]  Raymond J. Madachy,et al.  Software process simulation modeling: Why? What? How? , 1999, J. Syst. Softw..

[56]  H. Simon Rational Decision Making in Business Organizations , 1978 .

[57]  Giuseppe Visaggio Process improvement through data reuse , 1994, IEEE Software.

[58]  Louise Scott,et al.  Instrumenting Measurement Programs with Tools , 2000, PROFES.

[59]  F. Torelli,et al.  Sensitivity analysis in power system dynamic stability studies , 1981 .

[60]  Dietmar Pfahl,et al.  PROFES-A Product-driven Process Improvement Methodology , 1998 .

[61]  D. Ross Jeffery,et al.  A framework for evaluation and prediction of metrics program success , 1993, [1993] Proceedings First International Software Metrics Symposium.

[62]  James S. Collofello,et al.  Evaluating the effectiveness of process improvements on software development cycle time via system dynamics modelling , 1995, Proceedings Nineteenth Annual International Computer Software and Applications Conference (COMPSAC'95).

[63]  J.A.M. Vennix Mental models and computer models: design and evaluation of a computer-based learning environment for policy-making , 1990 .

[64]  John Mylopoulos,et al.  Understanding "why" in software process modelling, analysis, and design , 1994, Proceedings of 16th International Conference on Software Engineering.

[65]  Dietmar Pfahl,et al.  Using simulation to analyse the impact of software requirement volatility on project performance , 2000, Inf. Softw. Technol..

[66]  M. I. Kellner,et al.  A conceptual schema for process definitions and models , 1994, Proceedings of the Third International Conference on the Software Process. Applying the Software Process.

[67]  Susan Greenfield Thinking in circles , 1993, Nature.

[68]  Shari Lawrence Pfleeger,et al.  Software Metrics : A Rigorous and Practical Approach , 1998 .

[69]  J. Sterman Learning in and about complex systems , 1994 .

[70]  Watts S. Humphrey,et al.  Managing the software process , 1989, The SEI series in software engineering.

[71]  Antony Powell,et al.  Strategies for lifecycle concurrency and iteration - A system dynamics approach , 1999, J. Syst. Softw..

[72]  O. O. Oyeleye,et al.  Qualitative simulation of chemical process systems: Steady‐state analysis , 1988 .

[73]  Karl Lebsanft Das Siemens Process Assessment , 1999 .

[74]  Jochen Ludewig,et al.  Quantitative modeling for the interactive simulation of software projects , 1999, J. Syst. Softw..

[75]  James S. Collofello,et al.  System dynamics modeling applied to software outsourcing decision support , 2000 .

[76]  Chris Argyris,et al.  Action Science and Intervention , 1983 .

[77]  Paolo Ciancarini,et al.  Software process enactment in Oikos , 1990, SDE.

[78]  Donald A. Schön The Theory of Inquiry: Dewey's Legacy to Education , 1992 .

[79]  Denton Tarbet,et al.  Case studies in software process modeling with system dynamics , 2000, Softw. Process. Improv. Pract..

[80]  C. Ghezzi,et al.  Software processes as real-time systems: a case study using high-level Petri nets , 1992, Eleventh Annual International Phoenix Conference on Computers and Communication [1992 Conference Proceedings].

[81]  Lionel C. Briand,et al.  Explaining the cost of European space and military projects , 1999, Proceedings of the 1999 International Conference on Software Engineering (IEEE Cat. No.99CB37002).

[82]  Stuart E. Madnick,et al.  Software Project Dynamics: An Integrated Approach , 1991 .

[83]  Ulrike Becker-Kornstaedt,et al.  Descriptive Process Modeling in an Industrial Environment Experience and Guidelines , 2000, EWSPT.

[84]  Jacques Lonchamp,et al.  A structured conceptual and terminological framework for software process engineering , 1993, [1993] Proceedings of the Second International Conference on the Software Process-Continuous Software Process Improvement.

[85]  Dietmar Pfahl,et al.  Integration of system dynamics modelling with descriptive process modelling and goal-oriented measurement , 1999, J. Syst. Softw..

[86]  Dietmar Pfahl,et al.  A CBT module with integrated simulation component for software project management education and training , 2001, J. Syst. Softw..

[87]  Paul E. Spector Ratings of Equal and Unequal Response Choice Intervals , 1980 .

[88]  George P. Richardson,et al.  Feedback Thought in Social Science and Systems Theory , 1991 .

[89]  Edward B. Roberts,et al.  A simple model of R & D project dynamics , 1974 .

[90]  Rogelio Oliva,et al.  Quality Microworlds: Modeling the Impact of Quality Initiatives over the Software Product Life Cycle , 1993 .

[91]  Music Musi Georgia Institute of Technology , 2002 .

[92]  Reuven R. Levary,et al.  Modelling the software development process using an expert simulation system having fuzzy logic , 1991, Softw. Pract. Exp..

[93]  Yvonne Howard,et al.  Simulating a Process Strategy for Large Scale Software Development , 1999 .

[94]  Ian R. McChesney Toward a classification scheme for software process modelling approaches , 1995, Inf. Softw. Technol..

[95]  O. H. Lowry Academic press. , 1972, Analytical chemistry.

[96]  M. I. Kellner,et al.  Software process modeling: a case study , 1989, [1989] Proceedings of the Twenty-Second Annual Hawaii International Conference on System Sciences. Volume II: Software Track.

[97]  Anthony M. Hodgson,et al.  Hexagons for systems thinking , 1992 .

[98]  D. Meadows,et al.  The limits to growth. A report for the Club of Rome's project on the predicament of mankind. , 1972 .

[99]  Ellis Horowitz,et al.  Software Cost Estimation with COCOMO II , 2000 .

[100]  Dietmar Pfahl,et al.  Experience with explicit modelling of relationships between process and product quality , 1998 .

[101]  Egon Berghout,et al.  The Goal/Question/Metric method: a practical guide for quality improvement of software development , 1999 .

[102]  H. D. Rombach,et al.  THE EXPERIENCE FACTORY , 1999 .

[103]  Raymond J. Madachy System dynamics modeling of an inspection-based process , 1996, Proceedings of IEEE 18th International Conference on Software Engineering.

[104]  Joseph S. Sherif,et al.  Software-Engineering Process Simulation model (SEPS) , 1997, J. Syst. Softw..

[105]  Christopher M. Lott,et al.  MVP-L Language Report , 1992 .

[106]  Lionel C. Briand,et al.  A Comprehensive Evaluation of Capture-Recapture Models for Estimating Software Defect Content , 2000, IEEE Trans. Software Eng..

[107]  Gail E. Kaiser,et al.  Scaling up Rule-Based Software Development Environments , 1992, Int. J. Softw. Eng. Knowl. Eng..

[108]  Barry W. Boehm,et al.  Software Engineering Economics , 1993, IEEE Transactions on Software Engineering.

[109]  W. Humphrey,et al.  Software Process Modeling: Principles Of Entity Process Models , 1989, 11th International Conference on Software Engineering.

[110]  Alan M. Christie,et al.  Organizational and social simulation of a software requirements development process , 2000, Softw. Process. Improv. Pract..

[111]  Reuven R. Levary,et al.  Computer-Aided Software Development Process Design , 1989, IEEE Trans. Software Eng..

[112]  Jacqueline Grennon , 2nd Ed. , 2002, The Journal of nervous and mental disease.

[113]  Martin Verlage,et al.  Support for the Process Engineer: The Spearmint Approach to Software Process Definition and Process Guidance , 1999, CAiSE.

[114]  Lionel C. Briand,et al.  Using simulation to build inspection efficiency benchmarks for development projects , 1998, Proceedings of the 20th International Conference on Software Engineering.

[115]  Yaman Barlas,et al.  Formal aspects of model validity and validation in system dynamics , 1996 .

[116]  Victor R. Basili,et al.  A Methodology for Collecting Valid Software Engineering Data , 1984, IEEE Transactions on Software Engineering.

[117]  David C. Lane,et al.  The road not taken: Observing a process of issue selection and model conceptualization , 1993 .