Engineering I (SE I) and Software Engineering II (SE II) – allow students to get a first-hand experience of a considerable chunk of the software development life cycle. Using the terminology of the rational unified process (RUP) , SE I covers the activities of Inception and Elaboration phases whereas SE II encompasses the activities of construction and transition phases. Most of the time students work in teams of six to eight people. Each team comprises two parts – the development core and the independent verification and validation (IV&V) wing. The development core of a team is typically made up of four to
six on-campus students. These on-campus students are full-time students with an average industry experience of a couple of years.
The IV&V wing usually contains two off-campus students. These off-campus students are full-time working professionals who are pursing part-time education. Average industry experience of these off-campus students is at least five years. The IV&V wing works in tandem with the development core of the team to ensure quality of deliverables. Projects undertaken in these two courses come from a variety of sources spanning both industry and academia. Typical
clients include USC neighborhood not-for-profit organizations (e.g. California Science Center, New Economics for Women, etc.), USC departments (e.g. Anthropology, Information Services, Library, etc.), and USC neighborhood small businesses. As a first step, candidate projects are screened on the basis of their perceived complexity and duration. Due to constraints imposed by the team size and course duration, highly complex projects or projects which require a lot of work are filtered out.
Selected projects are then assigned to teams based on the interest preferences of the teams. Once teams are paired with clients, negotiations between these two parties play an important role in prioritizing the requirements. This prioritized list of requirements, in turn, facilitates completion of these projects in two semesters. This study deals with 20 such fixed-length real-client projects done by teams of graduate-students in the past few years [16,17]. Table 1 presents a summary of these projects. The column titled ‘‘Year” indicates the year in which each project was initiated. The primary instructor was the same for all of these years. Special care was exercised in selecting these projects for
analysis. COTS-based projects, for which elaboration data is not available, were filtered out. Similarly, custom-development projects with incomplete data were also not considered. As a result, each row in Table 1 represents a fully-documented custom-development project.
Replaced/Superseded by document(s)
This paper describes an empirical study undertaken to investigate the quantitative aspects of the phenomenon of requirements elaboration which deals with transformation of high level goals into low-level requirements. Prior knowledge of the magnitude of requirements elaboration is instrumental in developing early estimates of a project’s cost and schedule.
This study examines the data on two different types of goals and requirements – capability and level of service (LOS) – of 20 real-client, graduate-student, team projects done at USC. Metrics for data collection and analyses are described along with the utility of results they produce. Besides revealing a marked difference between the elaboration of capability goals and the elaboration of LOS goals, these results provide some initial relationships between
the nature of projects and their ratios of elaboration of capability goals into capability or functional requirements.