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.



Autorentext
Raymond J. Madachy, PhD, is a Research Assistant Professor in the USC Industrial and Systems Engineering Department and a Principal of the USC Center for Systems and Software Engineering. Dr. Madachy's current research interests include modeling and simulation of processes for architecting and engineering of complex software-intensive systems; economic analysis and value-based engineering of software-intensive systems; systems and software measurement, process improvement, and quality; quantitative methods for systems risk management; integrating systems engineering and software engineering disciplines; and integrating empirical-based research with process simulation. He is a Senior Member of IEEE and a member of ACM.

Klappentext
Advance Praise for Software Process Dynamics

"Not only the best software engineering book of 2007, but quite possibly the most important book of this entire decade."
Ed Yourdon, internationally recognized consultant and author of twenty-seven books, including Death March

"A major and much needed new textbook. . . . [It] contains a wealth of material covering all important aspects of software project dynamics."
Dr. Tarek Abdel-Hamid, Professor in the Graduate School of Business and Public Policy, the Naval Postgraduate School

"Brings together a tremendous amount of useful process modeling material and experience in using it in practical software decision situations. . . . [It] will serve as a standard reference for the software process dynamics field."
Dr. Barry Boehm, Professor in the Computer Science and Industrial Systems Engineering Departments, University of Southern California

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. Software Process Dynamics successfully 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. This self-contained book:

  • Provides methods, tools, models, and examples to improve management decision-making at all levels

  • Illustrates systems thinking in action to develop increasingly deep understandings of software process structures and behaviors

  • Describes the full modeling process, including calibration of models to software metrics data

  • Shows basic building blocks and model infrastructures for software processes

  • Demonstrates how others have used the principles of systems dynamics to analyze and improve processes, and summarizes all previous publications

  • Provides future research motivations

Software Process Dynamics is complete with exercises and executable models available on a related Web site that allow readers to learn hands-on and with the flexibility to go at their own pace. Furthermore, updates to the book's chapters will be available on this Web site to keep readers up-to-date with the most current and emerging models and techniques. This is an invaluable reference for software engineers, IT practitioners, engineering process groups, project planners, managers, and executives who wish to improve their processes and be better informed. It also serves as an effective textbook for students in related courses at the upper-undergraduate and graduate levels.



Inhalt

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 Weinberg's 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 Brooks's Law Example 16

1.4.1 Brooks's 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 Versus Nonconserved Information 55

2.1.2 The Continuous View Versus Discrete Event Modeling 55

2.1.3 Model Elements and Notations 56

2.1.4 Mathematical Formulation of System Dynamics 56

2.1.5 Using Heuristics 60

2.1.6 Potential Pitfalls 60

2.2 General System Behaviors 61

2.2.1 Goal-Seeking Behavior 61

2.2.2 Information Smoothing 63

2.2.3 Example: Basic Structures for General Behaviors 63

2.3 Modeling Overview 64

2.3.1 An Iterative Process 68

2.3.2 Applying the WinWin Spiral Model 70

2.4 Problem Definition 73

2.4.1 Defining the Purpose 73

2.4.2 Reference Behavior 74

2.4.3 Example: Model Purpose and Reference Behavior 75

2.5 Model Conceptualization 75

2.5.1 Identification of System Boundary 78

2.5.2 Causal Loop Diagrams 79

2.6 Model Formulation and Construction 83

2.6.1 Top-Level Formulation 84

2.6.2 Basic Patterns and Rate Equations 90

2.6.3 Graph and Table Functions 96

2.6.4 Assigning Parameter Values 99

2.6.5 Model Building Principles 101

2.6.6 Model Integration 103

2.6.7 Example: Construction Iterations 104

2.7 Simulation 110

2.7.1 Steady-state Conditions 112

2.7.2 Test Functions 113

2.7.3 Reference Behavior 115

2.8 Model Assessment 116

2.8.1 Model Validation 117

2.8.2 Model Sensitivity Analysis 121

2.8.3 Monte Carlo Analysis 125

2.9 Policy Analysis 126

2.9.1 Policy Parameter Changes 127

2.9.2 Policy Structural Changes 128

2.9.3 Policy Validity and Robustness 129

2.9.4 Policy Suitability and Feasibility 130

2.9.5 Example: Policy Analysis 130

2.10 Continuous Model Improvement 131

2.10.1 Disaggregation 132

2.10.2 Feedback Loops 132

2.10.3 Hypotheses 132

2.10.4 When to Stop? 133

2.10.5 Example: Model Improvement Next Steps 133

2.11 Software Metrics Considerations 134

2.11.1 Data Collection 134

2.11.2 GoalQuestionMetric Framework 135

2.11.3 Integrated Measurement and Simulation 136

2.12 Project Management Considerations 138

2.12.1 Modeling Communication and Team Issues 139

2.12.2 Risk Management of Modeling Projects 140

2.12.3 Modeling Documentation and Presentation 141

2.12.4 Modeling Work Breakdown Structure 142

2.13 Modeling Tools 142

2.14 Major References 145

2.15 Chapter 2 Summa…

Titel
Software Process Dynamics
EAN
9780470192702
ISBN
978-0-470-19270-2
Format
E-Book (pdf)
Herausgeber
Veröffentlichung
12.07.2008
Digitaler Kopierschutz
Adobe-DRM
Dateigrösse
6.89 MB
Anzahl Seiten
432
Jahr
2007
Untertitel
Englisch