The following research question was posed: Can large-team projects with in-house customers be used to effectively teach the software engineering development process, while still producing completed and useful products within a set time period?This paper describes undergraduate and graduate software engineering courses taught at Texas Tech University which have large-team projects. In those courses, there is a balance achieved so neither the process nor the product aspects of software development are overly emphasized. In other words, having a completed or nearly-completed project at the end of the semester is essential. Equal parts of the grades in those courses is given to the process and product aspects of the large- team software development project. A number of successful projects have been developed using this method, with the grades in the process and product phases of the course being approximately the same.Interaction with industry has provided input which has resulted in some improvements in the software process used in these courses. A self-study of the software process maturity at Texas Tech found the process to be level 2; materials have been developed using the self-study team's recommendations, with the goal being to improve the process maturity to level 3.
[1]
Watts S. Humphrey,et al.
A discipline for software engineering
,
2012,
Series in software engineering.
[2]
James E. Tomayko,et al.
Teaching software development in a studio environment
,
1991,
SIGCSE.
[3]
Frank P. Coyle,et al.
Meeting the Needs of Industry: SMU's Master's Degree Program in Software Engineering
,
1994,
CSEE.
[4]
Colin Potts,et al.
Learning by Doing: Goals & Experience of Two Software Engineering Project Courses
,
1994,
CSEE.
[5]
James E. Tomayko,et al.
Teaching a Project-Intensive Introduction to Software Engineering
,
1987
.
[6]
Mark C. Paulk,et al.
The Capability Maturity Model: Guidelines for Improving the Software Process
,
1994
.
[7]
Laurie Honour Werth.
An Adventure in Software Process Improvement
,
1994,
CSEE.