Details

Software Process Dynamics


Software Process Dynamics


1. Aufl.

von: Raymond J. Madachy

107,99 €

Verlag: Wiley
Format: PDF
Veröffentl.: 04.12.2007
ISBN/EAN: 9780470192702
Sprache: englisch
Anzahl Seiten: 640

DRM-geschütztes eBook, Sie benötigen z.B. Adobe Digital Editions und eine Adobe ID zum Lesen.

Beschreibungen

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.
<p>Foreword xiii<br /><i>Barry Boehm</i></p> <p>Preface xvii</p> <p><b>Part 1 Fundamentals</b></p> <p><b>Chapter 1 Introduction and Background 3</b></p> <p>1.1 Systems, Processes, Models, and Simulation 6</p> <p>1.2 Systems Thinking 8</p> <p>1.2.1 The Fifth Discipline and Common Models 9</p> <p>1.2.2 Systems Thinking Compared to System Dynamics 9</p> <p>1.2.3 Weinberg’s Systems Thinking 10</p> <p>1.3 Basic Feedback Systems Concepts Applied to the Software Process 10</p> <p>1.3.1 Using Simulation Models for Project Feedback 13</p> <p>1.3.2 System Dynamics Introductory Example 14</p> <p>1.4 Brooks’s Law Example 16</p> <p>1.4.1 Brooks’s Law Model Behavior 19</p> <p>1.5 Software Process Technology Overview 22</p> <p>1.5.1 Software Process Modeling 22</p> <p>1.5.2 Process Lifecycle Models 29</p> <p>1.5.3 Process Improvement 40</p> <p>1.6 Challenges for the Software Industry 45</p> <p>1.7 Major References 47</p> <p>1.8 Chapter 1 Summary 48</p> <p>1.9 Exercises 49</p> <p><b>Chapter 2 The Modeling Process with System Dynamics 53</b></p> <p>2.1 System Dynamics Background 54</p> <p>2.1.1 Conserved Flows Versus Nonconserved Information 55</p> <p>2.1.2 The Continuous View Versus Discrete Event Modeling 55</p> <p>2.1.3 Model Elements and Notations 56</p> <p>2.1.4 Mathematical Formulation of System Dynamics 56</p> <p>2.1.5 Using Heuristics 60</p> <p>2.1.6 Potential Pitfalls 60</p> <p>2.2 General System Behaviors 61</p> <p>2.2.1 Goal-Seeking Behavior 61</p> <p>2.2.2 Information Smoothing 63</p> <p>2.2.3 Example: Basic Structures for General Behaviors 63</p> <p>2.3 Modeling Overview 64</p> <p>2.3.1 An Iterative Process 68</p> <p>2.3.2 Applying the WinWin Spiral Model 70</p> <p>2.4 Problem Definition 73</p> <p>2.4.1 Defining the Purpose 73</p> <p>2.4.2 Reference Behavior 74</p> <p>2.4.3 Example: Model Purpose and Reference Behavior 75</p> <p>2.5 Model Conceptualization 75</p> <p>2.5.1 Identification of System Boundary 78</p> <p>2.5.2 Causal Loop Diagrams 79</p> <p>2.6 Model Formulation and Construction 83</p> <p>2.6.1 Top-Level Formulation 84</p> <p>2.6.2 Basic Patterns and Rate Equations 90</p> <p>2.6.3 Graph and Table Functions 96</p> <p>2.6.4 Assigning Parameter Values 99</p> <p>2.6.5 Model Building Principles 101</p> <p>2.6.6 Model Integration 103</p> <p>2.6.7 Example: Construction Iterations 104</p> <p>2.7 Simulation 110</p> <p>2.7.1 Steady-state Conditions 112</p> <p>2.7.2 Test Functions 113</p> <p>2.7.3 Reference Behavior 115</p> <p>2.8 Model Assessment 116</p> <p>2.8.1 Model Validation 117</p> <p>2.8.2 Model Sensitivity Analysis 121</p> <p>2.8.3 Monte Carlo Analysis 125</p> <p>2.9 Policy Analysis 126</p> <p>2.9.1 Policy Parameter Changes 127</p> <p>2.9.2 Policy Structural Changes 128</p> <p>2.9.3 Policy Validity and Robustness 129</p> <p>2.9.4 Policy Suitability and Feasibility 130</p> <p>2.9.5 Example: Policy Analysis 130</p> <p>2.10 Continuous Model Improvement 131</p> <p>2.10.1 Disaggregation 132</p> <p>2.10.2 Feedback Loops 132</p> <p>2.10.3 Hypotheses 132</p> <p>2.10.4 When to Stop? 133</p> <p>2.10.5 Example: Model Improvement Next Steps 133</p> <p>2.11 Software Metrics Considerations 134</p> <p>2.11.1 Data Collection 134</p> <p>2.11.2 Goal–Question–Metric Framework 135</p> <p>2.11.3 Integrated Measurement and Simulation 136</p> <p>2.12 Project Management Considerations 138</p> <p>2.12.1 Modeling Communication and Team Issues 139</p> <p>2.12.2 Risk Management of Modeling Projects 140</p> <p>2.12.3 Modeling Documentation and Presentation 141</p> <p>2.12.4 Modeling Work Breakdown Structure 142</p> <p>2.13 Modeling Tools 142</p> <p>2.14 Major References 145</p> <p>2.15 Chapter 2 Summary 146</p> <p>2.15.1 Summary of Modeling Heuristics 148</p> <p>2.16 Exercises 149</p> <p><b>Chapter 3 Model Structures and Behaviors for Software Processes 155</b></p> <p>3.1 Introduction 155</p> <p>3.2 Model Elements 157</p> <p>3.2.1 Levels (Stocks) 157</p> <p>3.2.2 Rates (Flows) 159</p> <p>3.2.3 Auxiliaries 159</p> <p>3.2.4 Connectors and Feedback Loops 160</p> <p>3.3 Generic Flow Processes 160</p> <p>3.3.1 Rate and Level System 160</p> <p>3.3.2 Flow Chain with Multiple Rates and Levels 161</p> <p>3.3.3 Compounding Process 162</p> <p>3.3.4 Draining Process 163</p> <p>3.3.5 Production Process 163</p> <p>3.3.6 Adjustment Process 163</p> <p>3.3.7 Coflow Process 164</p> <p>3.3.8 Split Flow Process 165</p> <p>3.3.9 Cyclic Loop 165</p> <p>3.4 Infrastructures and Behaviors 166</p> <p>3.4.1 Exponential Growth 166</p> <p>3.4.2 S-Shaped Growth and S-Curves 167</p> <p>3.4.3 Delays 169</p> <p>3.4.4 Balancing Feedback 175</p> <p>3.4.5 Oscillation 177</p> <p>3.4.6 Smoothing 180</p> <p>3.4.7 Production and Rework 182</p> <p>3.4.8 Integrated Production Structure 183</p> <p>3.4.9 Personnel Learning Curve 183</p> <p>3.4.10 Rayleigh Curve Generator 185</p> <p>3.4.11 Attribute Tracking 186</p> <p>3.4.12 Attribute Averaging 187</p> <p>3.4.13 Effort Expenditure Instrumentation 187</p> <p>3.4.14 Decision Structures 188</p> <p>3.5 Software Process Chain Infrastructures 192</p> <p>3.5.1 Software Products 193</p> <p>3.5.2 Defects 196</p> <p>3.5.3 People 200</p> <p>3.6 Major References 203</p> <p>3.7 Chapter 3 Summary 204</p> <p>3.8 Exercises 204</p> <p><b>Part 2 Applications And Future Directions</b></p> <p><b>Introduction to Applications Chapters 211</b></p> <p><b>Chapter 4 People Applications 217</b></p> <p>4.1 Introduction 217</p> <p>4.2 Overview of Applications 221</p> <p>4.3 Project Workforce Modeling 222</p> <p>4.3.1 Example: Personnel Sector Model 222</p> <p>4.4 Exhaustion and Burnout 224</p> <p>4.4.1 Example: Exhaustion Model 224</p> <p>4.5 Learning 227</p> <p>4.5.1 Example: Learning Curve Models 231</p> <p>4.6 Team Composition 234</p> <p>4.6.1 Example: Assessing Agile Team Size for a Hybrid Process 235</p> <p>4.7 Other Application Areas 252</p> <p>4.7.1 Motivation 252</p> <p>4.7.2 Personnel Hiring and Retention 256</p> <p>4.7.3 Skills and Capabilities 260</p> <p>4.7.4 Team Communication 260</p> <p>4.7.5 Negotiation and Collaboration 261</p> <p>4.7.6 Simulation for Personnel Training 263</p> <p>4.8 Major References 265</p> <p>4.9 Chapter 4 Summary 265</p> <p>4.10 Exercises 267</p> <p><b>Chapter 5 Process and Product Applications 269</b></p> <p>5.1 Introduction 269</p> <p>5.2 Overview of Applications 273</p> <p>5.3 Peer Reviews 274</p> <p>5.3.1 Example: Modeling an Inspection-Based Process 275</p> <p>5.3.2 Example: Inspection Process Data Calibration 289</p> <p>5.4 Global Process Feedback (Software Evolution) 291</p> <p>5.4.1 Example: Software Evolution Progressive and 293</p> <p>Antiregressive Work</p> <p>5.5 Software Reuse 299</p> <p>5.5.1 Example: Reuse and Fourth-Generation Languages 301</p> <p>5.6 Commercial Off-the-Shelf Software (COTS)-Based Systems 309</p> <p>5.6.1 Example: COTS Glue Code Development and COTS 310</p> <p>Integration</p> <p>5.6.2 Example: COTS-Lifespan Model 317</p> <p>5.7 Software Architecting 319</p> <p>5.7.1 Example: Architecture Development During Inception and 319</p> <p>Elaboration</p> <p>5.8 Quality and Defects 327</p> <p>5.8.1 Example: Defect Dynamics 328</p> <p>5.8.2 Example: Defect Removal Techniques and Orthogonal 330</p> <p>Defect Classification</p> <p>5.9 Requirements Volatility 333</p> <p>5.9.1 Example: Software Project Management Simulator 337</p> <p>5.10 Software Process Improvement 343</p> <p>5.10.1 Example: Software Process Improvement Model 346</p> <p>5.10.2 Example: Xerox Adaptation 354</p> <p>5.11 Major References 362</p> <p>5.12 Provided Models 363</p> <p>5.13 Chapter 5 Summary 363</p> <p>5.14 Exercises 364</p> <p><b>Chapter 6 Project and Organization Applications 369</b></p> <p>6.1 Introduction 369</p> <p>6.1.1 Organizational Opportunities for Feedback 371</p> <p>6.2 Overview of Applications 372</p> <p>6.3 Integrated Project Modeling 373</p> <p>6.3.1 Example: Integrated Project Dynamics Model 373</p> <p>6.4 Software Business Case Analysis 395</p> <p>6.4.1 Example: Value-Based Product Modeling 396</p> <p>6.5 Personnel Resource Allocation 411</p> <p>6.5.1 Example: Resource Allocation Policy and Contention Models 411</p> <p>6.6 Staffing 416</p> <p>6.6.1 Example: Rayleigh Manpower Distribution Model 418</p> <p>6.6.2 Example: Process Concurrence Modeling 423</p> <p>6.6.3 Integrating Rayleigh Curves, Process Concurrence, and 441</p> <p>Brooks’s Interpretations</p> <p>6.7 Earned Value 442</p> <p>6.7.2 Example: Earned Value Model 450</p> <p>6.8 Major References 460</p> <p>6.9 Provided Models 460</p> <p>6.10 Chapter 6 Summary 460</p> <p>6.11 Exercises 462</p> <p><b>Chapter 7 Current and Future Directions 469</b></p> <p>7.1 Introduction 469</p> <p>7.2 Simulation Environments and Tools 472</p> <p>7.2.1 Usability 473</p> <p>7.2.2 Model Analysis 473</p> <p>7.2.3 Artificial Intelligence and Knowledge-Based Simulation 474</p> <p>7.2.4 Networked Simulations 475</p> <p>7.2.5 Training and Game Playing 475</p> <p>7.3 Model Structures and Component-Based Model Development 476</p> <p>7.3.1 Object-Oriented Methods 478</p> <p>7.3.2 Metamodels 478</p> <p>7.4 New and Emerging Trends for Applications 479</p> <p>7.4.1 Distributed Global Development 480</p> <p>7.4.2 User and People-Oriented Focus 482</p> <p>7.4.3 Agile and Hybrid Processes 482</p> <p>7.4.4 Commercial Off-the-Shelf Software 484</p> <p>7.4.5 Open Source Software Development 486</p> <p>7.4.6 Personnel Talent Supply and Demand 488</p> <p>7.5 Model Integration 489</p> <p>7.5.1 Common Unified Models 489</p> <p>7.5.2 Related Disciplines and Business Processes 490</p> <p>7.5.3 Meta-Model Integration 491</p> <p>7.6 Empirical Research and Theory Building 492</p> <p>7.6.1 Empirical Data Collection for Simulation Models 493</p> <p>7.7 Process Mission Control Centers, Analysis, and Training Facilities 494</p> <p>7.8 Chapter 7 Summary 496</p> <p>7.9 Exercises 498</p> <p><b>Appendix A: Introduction to Statistics of Simulation 501</b></p> <p>A.1 Risk Analysis and Probability 502</p> <p>A.2 Probability Distributions 503</p> <p>A.2.1 Interpreting Probability Distributions 505</p> <p>A.2.2 Measures of Location, Variability and Symmetry 506</p> <p>A.2.3 Useful Probability Distributions 508</p> <p>A.3 Monte Carlo Analysis 515</p> <p>A.3.1 Inverse Transform 515</p> <p>A.3.2 Example: Monte Carlo Analysis 516</p> <p>A.4 Analysis of Simulation Input 521</p> <p>A.4.1 Goodness-of-Fit Tests 521</p> <p>A.5 Experimental Design 523</p> <p>A.5.1 Example: Experimental Design and Model Response Surface 524</p> <p>A.6 Analysis of Simulation Output 525</p> <p>A.6.1 Confidence Intervals, Sample Size, and Hypothesis Testing 525</p> <p>A.7 Major References 527</p> <p>A.8 Appendix A Summary 527</p> <p>A.9 Exercises 529</p> <p>Appendix B: Annotated System Dynamics Bibliography 531</p> <p>Appendix C: Provided Models 565</p> <p>References 571</p> <p>Index 593</p>
"By taking both a technical and a social approach Raymond Madachy, the author, stimulates the readers interest and makes his book of over 600 pages a very worthwhile title." (<i>Kybernetes</i>, 2008) <p>"When Ed Yourdon says that this is possible the 'best software engineering book' of the year, and possible the decade, one can hardly argue." (<i>Ubiquity</i>, June 10-16, 2008)</p>
<b>Raymond J. Madachy</b>, 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.
<b>Advance Praise for <i>Software Process Dynamics</i></b> <p>"Not only the best software engineering book of 2007, but quite possibly the most important book of this entire decade."<br /> —<b>Ed Yourdon</b>, internationally recognized consultant and author of twenty-seven books, including <i>Death March</i></p> <p>"A major and much needed new textbook. . . . [It] contains a wealth of material covering all important aspects of software project dynamics."<br /> —<b>Dr. Tarek Abdel-Hamid</b>, Professor in the Graduate School of Business and Public Policy, the Naval Postgraduate School</p> <p>"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."<br /> —<b>Dr. Barry Boehm</b>, Professor in the Computer Science and Industrial Systems Engineering Departments, University of Southern California</p> <p>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. <i>Software Process Dynamics</i> 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:</p> <ul> <li> <p>Provides methods, tools, models, and examples to improve management decision-making at all levels</p> </li> <li> <p>Illustrates systems thinking in action to develop increasingly deep understandings of software process structures and behaviors</p> </li> <li> <p>Describes the full modeling process, including calibration of models to software metrics data</p> </li> <li> <p>Shows basic building blocks and model infrastructures for software processes</p> </li> <li> <p>Demonstrates how others have used the principles of systems dynamics to analyze and improve processes, and summarizes all previous publications</p> </li> <li> <p>Provides future research motivations</p> </li> </ul> <p><i>Software Process Dynamics</i> 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.</p>
This book is a critically important, timely and exciting contribution to software project management.  In the last two decades, the application of System Dynamics to model and study the software development process has added significantly to our understanding of the complexities of software project dynamics. Transferring the lessons learned into practice has heretofore been hampered by the insufficiency of accessible teaching materials. Now, Ray Madachy has given us a major and much needed new textbook in his Software Process Dynamics. <p><br /> Madachy's book is a comprehensive compilation of the wisdom and knowledge gathered over more than twenty years of research in the field, and contains a wealth of material covering all important aspects of software project dynamics. Because many of the concepts are accompanied by example models, Madachy has provided the practitioner with the building blocks and the tools to move ahead.  This book is a gift to software project managers everywhere. </p> <p><b>-<i>Dr. Tarek Abdel-Hamid, Professor in the Graduate School of Business and Public Policy at the Naval Postgraduate School, author of Software Project Dynamics and pioneer in the field.</i></b></p> <p>One of the best techniques for reasoning about the effects of complex interacting changes is the System Dynamics modeling framework that Ray Madachy presents in this book.  As I’ve found in numerous applications of the method, it enables project personnel to model such effects and run the models to better understand the implications of candidate project strategies and decisions.  His modeling experience as a technical leader in diverse organizations have given him a broad and deep perspective on the critical success factors for modeling various classes of software decision situations, while his teaching and research has enabled him to develop an integrating framework that makes system dynamics modeling much easier and cost-effective to learn and apply.</p> <p>Overall, the book brings together a tremendous amount of useful process modeling material and experience in using it in practical software decision situations.  It organizes this material into a unifying framework that makes it easier to apply and explain, and illustrates it with a wide variety of useful examples.  I believe that the book will serve as a standard reference for the software process dynamics field and a great help to practitioners and researchers for a good long time.</p> <p><b><i>-Dr. Barry Boehm, Professor in the Computer Science and Industrial and Systems Engineering Departments at the University of Southern California, Director of the USC Center for Systems and Software Engineering, a member of the National Academy of Engineering, a Fellow of ACM and IEEE, and pioneer in several areas of systems and software engineering</i></b></p> <p>Ray Madachy's new book is not only the best software engineering book of 2007, but quite possibly the most important book of this entire first decade of the 21st century. Many of us were excited by the possibilities of system dynamics modeling and simulation of software projects and processes in 1991 based on the important book <i>Software Project Dynamics</i> by Tarek Abdel-Hamid.  But it was ahead of its time, and it didn't incorporate many of the real-world issues and problems confronted by today's project managers. Madachy updates Adbel-Hamid's initial work with discussions of object-oriented methods, agile processes, open-source development, and distributed global development; and he also incorporates the best thinking of software cost models such as COCOMO II.</p> <p>Project managers, IT executives, and CIO's often wring their hands and ask why software development can't be more of an engineering discipline, rather than a completely unpredictable form of witchcraft. Now there's an answer, courtesy of Ray Madachy: serious, metrics-based modeling and simulation of software development. Along with a few other gems like Fred Brooks' "The Mythical Man-Month," I predict that "Software Process Dynamics" is going to be one of those key books that <i>every</i> software engineer, and <i>every</i> IT manager, has on his or her desk.</p> <p><b><i>-Ed Yourdon, internationally recognized consultant, author of Death March and over 27 other computer related books, IEEE and ACM member, and one of the most influential people in the software field</i></b></p> <p><br /> </p>

Diese Produkte könnten Sie auch interessieren:

The CISO Evolution
The CISO Evolution
von: Matthew K. Sharp, Kyriakos Lambros
PDF ebook
33,99 €
Data Mining and Machine Learning Applications
Data Mining and Machine Learning Applications
von: Rohit Raja, Kapil Kumar Nagwanshi, Sandeep Kumar, K. Ramya Laxmi
EPUB ebook
190,99 €