DescriptionThis 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.
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)
- This book provides executable models and simulation tools: How to actually do hands-on modeling of software processes with system dynamics, and it synthesizes all previous work in the area. Included are descriptive summaries of the best research and applications.
- It is accompanied by tools, executable model examples and other references for people to start modeling with.
- There are a variety of exercises in the book that are provided to serve as homework assignments, exam questions and/or even as major research projects.