This book is designed for professionals and students in software engineering or information technology who are interested in understanding the dynamics of software development in order to assess and optimize their own process strategies. It explains how simulation of interrelated technical and social factors can provide a means for organizations to vastly improve their processes. It is structured for readers to approach the subject from different perspectives, and includes descriptive summaries of the best research and applications.
Foreword xiii
Barry Boehm
Preface xvii
Part 1 Fundamentals
Chapter 1 Introduction and Background 3
1.1 Systems, Processes, Models, and Simulation 6
1.2 Systems Thinking 8
1.2.1 The Fifth Discipline and Common Models 9
1.2.2 Systems Thinking Compared to System Dynamics 9
1.2.3 Weinbergs Systems Thinking 10
1.3 Basic Feedback Systems Concepts Applied to the Software Process 10
1.3.1 Using Simulation Models for Project Feedback 13
1.3.2 System Dynamics Introductory Example 14
1.4 Brookss Law Example 16
1.4.1 Brookss Law Model Behavior 19
1.5 Software Process Technology Overview 22
1.5.1 Software Process Modeling 22
1.5.2 Process Lifecycle Models 29
1.5.3 Process Improvement 40
1.6 Challenges for the Software Industry 45
1.7 Major References 47
1.8 Chapter 1 Summary 48
1.9 Exercises 49
Chapter 2 The Modeling Process with System Dynamics 53
2.1 System Dynamics Background 54
2.1.1 Conserved Flows Verlă1