Software Maintenance and Evolution course, University of Malaya

Description of the course

The Software Maintenance and Evolution course mainly covers software maintenance fundamentals, key issues in maintenance, maintenance process, techniques for maintenance, and evolution in maintenance activities. The course takes place virtually.

Description of the participants

The course targets students enrolled in the Bachelor of Computer Science program. In semester 2 of the 2021 – 2022 academic years 20 students attended the course.

Description of gamified design thinking activities

Design thinking, and more specifically empathy and ideation practices, are deployed as one of the methodologies in the course toolkit that help expose students to analysis on real-world issues faced by elder individuals. In these activities, students analyzed real-world challenges and suggested relevant system features that can enrich the quality of everyday life of the elderly. Students applied design thinking in group by using the ICT-INOV digital learning platform for sharing ideas and brainstorming. Through group collaboration, students introduce solutions that address health challenges of the elderly.

The pedagogical approach applied in the course was project-based learning. The activities aimed at building innovative skill sets towards the design of software system features by applying suitable techniques and tools for performing software development and by assessing strategies

Students identified problems and issues faced by the elderly, such as health issues including mobility difficulties, reduced hearing, or reduced vision. They engaged in empathy activities and brainstormed to identify common challenges and activities in which elderly individuals may need assistance. Based on this analysis, students suggested features that can offer relief and enrich the life of the elderly.

Students worked in teams of 5 individuals. They were instructed to design a mobile app that helps address a specific challenge faced by elderly individuals. To achieve their objective, students engaged in the following design thinking steps:

Step 1. Problem research.

Students selected a problem to focus on. They performed research on the selected topic and described the problem through photos, drawings, notes, and article links that they posted on the ICT-INOV digital learning platform. In addition, students observed the behavior of the targeted group, namely elderly individuals and recorded their findings. They engaged in conversation with at least 6 individuals facing the problem and recorded what they thought and felt. They identified and recorded patterns.

Students were instructed to be curious in this context and keep an open mind. For example, if elderly individuals already used an app, what was not working for them? If they did not use an app, what was the reason behind that?

Step 2. Problem statement definition.

Based on the problem research results students were asked to define at least 3 different problem statements.

Step 3. Brainstorming.

Students brainstormed in groups. They were instructed to not judge the ideas of others, to strive for a high volume of ideas, to encourage wild ideas, and to build upon the ideas of others. Students brainstormed on the main goals of the system under design, usually 3 – 4 goals, and the main stakeholders, usually 2 – 3 stakeholders.

Step 4. User requirements definitions.

Students identified techniques for requirements elicitation through target user engagement. For each feature, they defined user and system requirements, both functional and non-functional, including quality requirements and constraints.

Step 5. Lessons learned.

Students analysed issues, problems, or constraints encountered during implementation. They discussed the lessons learned through the analysis process.