Reengineering Software Engineering Course Structure and Delivery to Accommodate Iterative and Agile Development Practices
Authors: N. Bolloju
Year: 2016

Semester-long group project work is a frequently used component of software engineering courses both for problem-based learning and for continuous assessment. In traditional software engineering courses, completion of such project work fits very well with the structured methods as the order of teaching of the required knowledge and practicing the skills closely follow the different phases of software development. With the recent trend in software engineering courses, which places significant emphasis on iterative or agile methodologies, this natural order of teaching does not sync very well with the method. The students – for example – are required to learn necessary knowledge and skills of systems development prior to the first iteration or sprint. Furthermore, as the projects progress through multiple iterations instructors have to put in significantly more effort in monitoring and providing feedback to student groups. The proposed approach for reengineering software engineering course to address the above challenges has three ingredients: a) incremental coverage of required material during the semester, b) tool support for collaborative modeling and development, and project management; and c) distributed assessment. The first ingredient is about redistributing the teaching material such that basic topics necessary for the first iteration are covered prior very early in the course. For example, concepts of use case diagram such as system boundary, actors and base use cases can be introduced prior to the first iteration rather than getting into types of relationships and use case descriptions. Also, topics such as introductions different types of systems development methodologies and their comparison can be moved towards the end of the course. Use of appropriate tools is important for efficient modeling by project teams and for managing project related activities. Such tools make it easier for the instructor to monitor the progress and provide feedback as and when required. The last ingredient is aimed at imparting analytical and critiquing skills by involving the students in self-assessment and peer-assessment work submitted by peers, and spreading the assessment of project work over different sprints. The proposed approach is being planned for implementation in a software engineering undergraduate course with a class size of about 180 students. This course covers agile systems development practices following the Scrum methodology giving importance to relevant UML techniques. Each group of size 5 to 7 will work on a different application development project in three sprints. We are in the process of finalizing a cloud-based case tool and an agile project management tool for the project work. We are also developing several detailed assessment rubrics to aid self and peer-assessment by student groups. The proposed approach is expected to benefit both students and instructors in many ways. Students are more likely to understand and appreciate the new material as it builds on their prior practice rather than prior knowledge. For example, having gone through some estimation and testing in the first sprint they will be in a better position to understand more advanced forms of testing and estimation. Use of appropriate tools that offer increased visibility into the progress of various groups will benefit the instructors both in continual monitoring progress and in feedback provision. Furthermore, selfand peer-assessment using specially designed rubrics will help instructors, in addition to enabling students to develop critical skills, in offering quality feedback to the teams more efficiently. Although there will be some challenges in the implementation of the proposed approach we believe that the benefits in terms of improved student engagement and learning outweigh the costs in addressing the challenges. We are looking forward for feedback and suggestions from the conference participants on this approach and for possible research collaboration.