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