Introducing Risk Management Techniques Within Project Based Software Engineering Courses

In 1996, USC switched its core two-semester software engineering course from a hypothetical-project, homework-and-exam course based on the Bloom taxonomy of educational objectives (knowledge, comprehension, application, analysis, synthesis, and evaluation). The revised course is a real-client team-project course based on the CRESST model of learning objectives (content understanding, problem solving, collaboration, communication, and self-regulation). We used the CRESST cognitive demands analysis to determine the necessary student skills required for software risk management and the other major project activities, and have been refining the approach over the last 5 years of experience, including revised versions for one-semester undergraduate and graduate project course at Columbia. This paper summarizes our experiences in evolving the risk management aspects of the project course. These have helped us mature more general techniques such as risk-driven specifications, domain-specific simplifier and complicator lists, and the schedule as an independent variable (SAIV) process model. The largely positive results in terms of review of pass / fail rates, client evaluations, product adoption rates, and hiring manager feedback are summarized as well.

[1]  B. Bloom,et al.  Taxonomy of Educational Objectives. Handbook I: Cognitive Domain , 1966 .

[2]  Barry W. Boehm,et al.  A stakeholder win–win approach to software engineering education , 1999, Ann. Softw. Eng..

[3]  Suresh L. Konda,et al.  Taxonomy-Based Risk Identification , 1993 .

[4]  W. Richards Adroin Developing and deploying software engineering courseware in an adaptable curriculum framework , 2000, ICSE '00.

[5]  Ellis Horowitz,et al.  Software Cost Estimation with COCOMO II , 2000 .

[6]  Barry W. Boehm,et al.  Escaping the software tar pit: model clashes and how to avoid them , 1999, SOEN.

[7]  Los Angeles,et al.  on Evaluation, Standards, and Student Testing, , 1991 .

[8]  Barry W. Boehm,et al.  Requirements engineering, expectations management, and the Two Cultures , 1999, Proceedings IEEE International Symposium on Requirements Engineering (Cat. No.PR00188).

[9]  C. Mahoney,et al.  Managing risk , 2011 .

[10]  Barry W. Boehm,et al.  Using the WinWin Spiral Model: A Case Study , 1998, Computer.

[11]  Raymond J. Madachy,et al.  Heuristic Risk Assessment Using Cost Factors , 1997, IEEE Softw..

[12]  Stuart R. Faulk Achieving industrial relevance with academic excellence: lessons from the Oregon master of software engineering , 2000, Proceedings of the 2000 International Conference on Software Engineering. ICSE 2000 the New Millennium.

[13]  Gerald M. Weinberg,et al.  Goals and Performance in Computer Programming , 1974 .

[14]  Barry W. Boehm Making RAD Work for Your Project , 1999, Computer.

[15]  Barry W. Boehm,et al.  Software requirements as negotiated win conditions , 1994, Proceedings of IEEE International Conference on Requirements Engineering.

[16]  B. Bloom Taxonomy of educational objectives , 1956 .