Software engineering is about creating IT systems that work well in their context of use. It is however, a well-known fact that the art of designing software is a wicked problem and that the work in the software engineering projects often is complex and multifaceted. Studies have shown that 50-70% of all systems development projects fail! Understanding the problem as such is very much a part of the problem solving, as for example Schön argues in his book about the Reflective Practitioner.
Even though this is the reality that students face when they start working, there is very little in the educational setting that supports them in handling this future situation with complex problems. We have therefore in our course developed the idea of exposing the students to a real problem, one that has no obvious solution and preferably encompassed aspects from many different areas. In short, an open-ended problem. The name of the course is “IT in Society”
The course setting that we developed includes students working in groups and where the problem they address is clearly impossible for one individual to deal with alone. Our involvement as educators is limited to being facilitators and coaches, and being there for discussions about the students’ progress, with an emphasis on scaffolding the quality of how they worked rather than focusing on how good the solution to the problem will be.
Another feature is that we accept that students assume different roles in the projects as long as there was a real collaboration in a group, and that we work to build a good community of practice in the project through the reflections and discussions that we have with the students. We have named this new arena for learning Open-Ended Group Projects (OEGP). For further reading on how the theories of learning are applied in OEGP see the journal paper “On valuing peers: theories of learning and intercultural competence”.