"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.
PART 1 FUNDAMENTALS.
Chapter 1 Introduction and Background.
1.1 Systems, Processes, Models, and Simulation.
1.2 Systems Thinking.
1.3 Basic Feedback Systems Concepts Applied to the Software Process.
1.4 Brooks′s Law Example.
1.5 Software Process Technology Overview.
1.6 Challenges for the Software Industry.
1.7 Major References.
1.8 Chapter 1 Summary.
Chapter 2 The Modeling Process with System Dynamics.
2.1 System Dynamics Background.
2.2 General System Behaviors.
2.3 Modeling Overview.
2.4 Problem Definition.
2.5 Model Conceptualization.
2.6 Model Formulation and Construction.
2.8 Model Assessment.
2.9 Policy Analysis.
2.10 Continuous Model Improvement.
2.11 Software Metrics Considerations.
2.12 Project Management Considerations.
2.13 Modeling Tools.
2.14 Major References.
2.15 Chapter 2 Summary.
Chapter 3 Model Structures and Behaviors for Software Processes.
3.2 Model Elements.
3.3 Generic Flow Processes.
3.4 Infrastructures and Behaviors.
3.5 Software Process Chain Infrastructures.
3.6 Major References.
3.7 Chapter 3 Summary.
PART 2 APPLICATIONS AND FUTURE DIRECTIONS.
Introduction to Applications Chapters.
Chapter 4 People Applications.
4.2 Overview of Applications.
4.3 Project Workforce Modeling.
4.3.1 Example: Personnel Sector Model.
4.4 Exhaustion and Burnout.
4.4.1 Example: Exhaustion Model.
4.6 Team Composition.
4.7 Other Application Areas.
4.8 Major References.
4.9 Chapter 4 Summary.
Chapter 5 Process and Product Applications.
5.2 Overview of Applications.
5.3 Peer Reviews.
5.4 Global Process Feedback (Software Evolution).
5.5 Software Reuse.
5.6 Commercial Off–the–Shelf Software (COTS)–Based Systems.
5.7 Software Architecting.
5.8 Quality and Defects.
5.9 Requirements Volatility.
5.10 Software Process Improvement.
5.11 Major References.
5.12 Provided Models.
5.13 Chapter 5 Summary.
Chapter 6 Project and Organization Applications.
6.2 Overview of Applications.
6.3 Integrated Project Modeling.
6.4 Software Business Case Analysis.
6.5 Personnel Resource Allocation.
6.7 Earned Value.
6.8 Major References.
6.9 Provided Models.
6.10 Chapter 6 Summary.
Chapter 7 Current and Future Directions.
7.2 Simulation Environments and Tools.
7.3 Model Structures and Component–Based Model Development.
7.4 New and Emerging Trends for Applications.
7.5 Model Integration.
7.6 Empirical Research and Theory Building.
7.7 Process Mission Control Centers, Analysis, and Training Facilities.
7.8 Chapter 7 Summary.
Appendix A: Introduction to Statistics of Simulation.
A.1 Risk Analysis and Probability.
A.2 Probability Distributions.
A.3 Monte Carlo Analysis.
A.4 Analysis of Simulation Input.
A.5 Experimental Design.
A.6 Analysis of Simulation Output.
A.7 Major References.
A.8 Appendix A Summary.
Appendix B: Annotated System Dynamics Bibliography.
Appendix C: Provided Models.
"When Ed Yourdon says that this is possible the ′best software engineering book′ of the year, and possible the decade, one can hardly argue." (Ubiquity, June 10–16, 2008)