Project Basics
The projects are intended to be like a role-play of a principal-agent relationship. The students are the contractor. They fill roles typical in a software project, such as the project manager, quality assurance staff, configuration management staff, and software architects and developers. The customer is a faculty member who behaves realistically in that he or she has imprecise goals and occasionally changes his or her mind.3 This has led the designers of the curriculum to involve faculty who aren't necessarily software engineering specialists.