-
Faculty Candidate Lecture
Tue, Apr 04, 2006 @ 02:30 PM - 04:00 PM
Thomas Lord Department of Computer Science
Conferences, Lectures, & Seminars
Modeling and Simulation of Complex Software Processes Ray MadachyResearch ScientistComputer ScienceUSCAbstract:Quantitative modeling and simulation can be used to assess and optimize strategies for software development. With today's increasingly dynamic software projects and numerous methodologies to choose from, the ability to understand and reason about complex software processes is even more important. There are many important factors at play requiring a balance of technology, business and people considerations. Through modeling and simulation, the interrelated process factors and feedback effects can be better understood before project implementation. The tradeoffs between cost, schedule, quality and risk can be quantified as well as the conditional effects of combined strategies. In this research, system dynamics is frequently used for modeling software processes in this research. It has complemented existing techniques and opened up new areas of study. System dynamics is a continuous systems modeling approach that provides a rich and integrative framework for capturing myriad process phenomena and their relationships over time. Traditional static modeling cannot capture dynamic feedback loops and complex interacting phenomena such as process methods, resource contention, volatility, schedule pressure, slippages, communication overhead, improvement initiatives, hiring, training, etc. Simulation provides an experimental testbed for project planning, process improvement, corporate strategy and investment analysis, or business case development to improve decision making at all levels. It helps reduce risk and fosters organizational learning by making models explicit in a group setting. It can also be used for training in "flight simulation" mode, since participants can interact with executing models in real-time to see the effects of their decisions. This talk will demonstrate some executable models and summarize example research. One simple illustrative model quantifies the interrelated phenomena in Brooks's Law, demonstrating the conditions under which the law is valid, to what extent, and the essential process tradeoffs. A dynamic model of formal software reviews will also be highlighted, where data from several hundred inspections was used for model formulation and validation. It demonstrates the effects of inspections, management decision policies and can be used to optimize reviews.Business value should be considered when making software process and product decisions, but it is usually difficult to integrate the perspectives quantitatively A fielded simulation model will be described that relates the dynamics between product specifications, investment costs, schedule, software quality practices, market factors and revenue generation. It can be used to determine the appropriate balance of process activities to meet business goals and product criteria. Examples from currently funded research will also be shown. For the U.S. Army, a system dynamics model is being used to assess incremental hybrid processes and support decision-making for a very large system-of-systems. It considers changes due to external volatility and feedback from user-driven change requests, and dynamically re-estimates and allocates resources in response to the volatility. Change deferral policies and team sizes can be experimented with.A simulation tradeoff tool for NASA will be shown that models the dynamic generation and detection of defects. It also estimates effort and efficiency tradeoffs for different defect removal practices per type of defect. It enables different timings and combinations of strategies to be experimented with to optimize V&V processes.Biography:Dr. Ray Madachy is a Research Scientist with the USC Center for Software Engineering and was also an Adjunct Assistant Professor in the Computer Science Dept. Previously he was the Chief Technology Officer at Cost Xpert Group, leading the development of new software cost/schedule models and measurement tools. Before that he was Chief Scientist at C-bridge Institute, where he led consulting and training in software methodologies and economic analysis. Earlier he was Manager of the Software Engineering Process Group at Litton Systems, where he directed efforts to achieve SEI CMM Level 4. He has written over 60 publications in software process modeling, simulation and improvement; cost estimation and software metrics; value-based software engineering; and risk management. He is a co-author of the book Software Cost Estimation with COCOMO II and is completing the book Software Process Dynamics. He has developed several widely-used software engineering tools, including Expert COCOMO (a knowledge-based risk assessment tool in heavy usage on the Internet), several software process dynamics analysis tools, the Litton Process Asset Library used on a daily basis, the web-based C-bridge Cost Calculator and major portions of the Cost Xpert toolset.He has a Ph.D. in Industrial and Systems Engineering from USC, an M.S. in Systems Science from UCSD and a B.S. in Mechanical Engineering from the University of Dayton. He is a senior member of IEEE and in INCOSE, Tau Beta Pi and Pi Tau Sigma. He is a reviewer for several refereed journals, served on conference committees including program chair, and currently serves on the program committees for the International Forum on COCOMO and Software Cost Modeling and the Software Process Workshop.
Location: Hedco Neurosciences Building (HNB) - 107
Audiences: Everyone Is Invited
Contact: Nancy Levien