CS 599: Software Process Modeling

Fall 1999

This course will overview the field of software process modeling, and address current research issues with student simulation projects.   Process modeling techniques for both continuous systems and discrete systems will be covered, with a concentration in system dynamics modeling (continuous systems).  This course is designed for students and software engineering professionals who are interested in understanding the dynamics of software development and assessing process strategies.  Examples of process and project dynamics covered are Rapid Application Development (RAD), the effects of schedule pressure, experience, work methods such as reviews and quality assurance activities, task underestimation, bureaucratic delays, demotivating events, process concurrence, other socio-technical phenomena and the feedback therein.  These complex and interacting process effects are modeled with system dynamics using continuous quantities interconnected in loops of information feedback and circular causality.  Knowledge of the interrelated technical and social factors coupled with simulation tools can provide a means for software process improvement.

 The objectives of the course are to:
- Review the field of software process modeling.
- Develop simulation term projects that address critical software issues.
- Describe the systems thinking paradigm for developing increasingly deep understandings of software process structures.
- Show basic building blocks and model infrastructures for software development processes.
- Provide sufficient introductory material including exercises and executable models on the Internet.
- Describe the modeling process, including calibration of models to software metrics data.
- Show recent developments on how others have used the principles of system dynamics to analyze and improve their processes.
- Provide detail of critical implementation issues and future research motivations.

The course project for the semester will be a simulation study. Each student will define his/her research topic to be addressed by software process simulation.

Course Prerequisite:
Graduate standing or consent of the instructor

Text:
Madachy R. Boehm B., Software Process Dynamics, IEEE Computer Society Press, 2000

Lecture Time and Location:
Tuesday 5:00- 8:00 PM, GFS 220

Assignments and Grading:
Homework 40%
Term project 60%

Instructors:
Dr. Ray Madachy, madachy@usc.edu and Dr. Barry Boehm, boehm@sunset.usc.edu

Office hours:
Tuesday 4:00-5:00 PM, or after appointment, Salvatori 320

Teaching Assistant:
TBD

TA Office hours:
TBD, Salvatori 327

Web page:
http://sunset.usc.edu/classes/cs599_99