PBL in Agile Software Development course, UM

Course overview

The course examines agile methods, including extreme programming (XP), SCRUM, lean, Kanban, Crystal, dynamic systems development methods, test-driven development, and feature-driven development. The course aims to build understanding on how rapid realization of software can most effectively be achieved. The ability of agile development teams to rapidly develop high quality, customer-valued software is examined and contrasted with teams following more traditional methodologies that emphasize planning and documentation. Students build knowledge on agile development principles and techniques covering the entire software development process from problem conception through development, testing, and deployment. Issues of adopting agile methods are also discussed.

Participants in piloting 

The course is an elective for Masters of Software Engineering students in the Faculty of Computer Science and Information Technology of the University of Malaya. 14 students enrolled in the course in semester 1 of the 2019 – 2020 academic year. Half of the students were Malaysian while the other half were from Bangladesh and Afghanistan.

Timeframe

Fall 2019

Use of ALIEN services and tools

The main focus of the course was on project-based active learning, while jigsaw active learning techniques were also deployed. The course took place in the TEALS lab. Students were divided in groups. Each group was seated in a different island. Students used the workstations on the islands to display discussion ideas. At the same time, most students also use their own laptops for performing individual work. Students also used the writable surface of the laboratory to sketch ideas. Furthermore, students used the laboratory drones, which were part of the project deliverable. More specifically, the drones were deployed in the following activities:

  • Applying agile, SCRUM methodologies for project development
  • Selecting the applicable gesture for a predefined thematic area development.
  • Designing a prototype for a gesture recognition system using drone.
  • Identifying the platform to output the response from the drone.
  • Displaying the outcomes on selected social media platforms.

In the context of active learning students implemented a project. The project brief was introduced on week 9 of the course. Students were allocated 4 weeks to complete their work. The objectives of the project were to demonstrate agile development practices in a software design, and more specifically the SCRUM model. Students engaged in practical work under weekly monitoring and submitted a report at the end of the project. The project allowed students to design, implement, and test an agile software product, and specifically a gesture recognition system involving the use of programmable drones and social media accounts. Students had the opportunity to present their work upon completion.

Assessment took place through FILA forms, a group contract, reflection, presentations, reports, and the comparisons of pre- and post-activity tests.

The software that was deployed in the context of the course includes the Python programming language, the Pycharm IDE for Python, a Python Interpreter, Python packages for accessing social media, and gesture recognition libraries.

Educational material that was deployed in the course includes:

Books:

  • Project Management Institute (2017). Agile Practice Guide. Project Management Institute.
  • Kent Beck and Cynthia Andres (2004). Extreme Programming Explained: Embrace Change (2nd Edition). Addison-Wesley Professional.
  • Ohno, Taiichi (1988). Toyota Production System. Productivity Press, Cambridge, MA.
  • Jeff Sutherland (2010). Scrum Handbook. Scrum Training Institute Press, MA.
  • David J. Anderson and Janice Linden-Reed (2010). Getting Started with Kanban for Software Development. DZone Refcardz. http://www.dzone.com
  • Mary Poppendieck, Tom Poppendieck (2003). Lean Software Development: An Agile Toolkit. Addison Wesley. Upper Saddle River.
  • Alistair Cockburn (2004). Crystal clear a human-powered methodology for small teams, retrieved from https://www.researchgate.net/publication/234820806_Crystal_clear_a_human-powered_methodology_for_small_teams

Tello drone resources, retrieved from https://dl-cdn.ryzerobotics.com/downloads/Tello/Tello%20SDK%202.0%20User%20Guide.pdf