Software Engineering is probably one of the most recent engineering disciplines. As such there have been major requirements put on that discipline to undergo appropriate transformations from immaturity to higher levels of maturity. This does not only relate to matters of evolution of techniques, and usability, but also the process of developing the software of concern.
The ability to succeed in a large scaled Software Engineering project is probably highly dependent on the ways of working, that is, on the working process that fulfils the project. The Capability Maturity Model aims to assess the maturity of a software process, and serves as a guidance to improve such processes. Maturity here relates to degrees of formality and optimization, from ad hoc driven processes, via defined process structures, to active process optimization.
Seen in a perspective of Software Engineering education we can see that it is of high importance that students get exhaustive practice in project based work. Several working process models of that are proposed in the context of Software Engineering research. Following such models may increase the probability of project success, both in industry and in educational projects. Still, a process with inherent self-reflecting mechanisms may increase such probability even further, with effect on quality of both work and product.
This contribution will shed light on the working process of students, where self-reflection, self-motivation, and process improvement are put in focus. A model for this has been the Capability Maturity Model where reflecting over working processes aims to increase grades of process maturity and quality.
Project based learning, Education concepts, Software Engineering, Cooperative work, Process improvement