NUS Module Review: IS4301 Agile IT with DevOps

Module: IS4301 Agile IT with DevOps

Semester taken: SEM1 AY2020/2021

Lecturer / Tutor: Foong Sew Bun

Module Synopsis (taken from nusmods.com)

Acceleration of the pace of digital transformation and adaption to business changes have caused IT organizations to integrate Agile methods and DevOps with traditional IT development and operations. This module introduces students with essential concepts of Agile IT and DevOps for participation in agile IT business transformations. Topics covered shall include waterfall vs. agile, integrated agile methods (Xtreme Programming, Scrum), DevOps, hybrid-IT, Platform as a service, monolithic vs. microservice architecture, containerization, toolchains, open innovations and case studies. Banking industry services will be used to enable students to practise concepts taught in this course.

Main Learning Objectives

  • Understand agile methodology — methods, tools, team structure, practises
  • Understand DevOps and CI/CD (continuous integration, continuous deployment)
  • Understand microservice architecture (brief overview)

Course Deliverables / Graded Components

  • Individual written assignment: 40%
  • Final Project Team Proposal Presentation (Group): 40%
  • Class participation (in lectures, tutorials & project presentation): 20%
  • Peer evaluation (for group project): 0%

Personal Review

Before taking this module, “agile”, “devOps” and “CI/CD” were simply buzzwords to me, hence I wanted to take this module to actually understand what they were. I was also encouraged to do so because my past internship supervisor shared that having knowledge about those modern practises or way of doing things would be beneficial since it is employed by many technology / software companies.

Regarding lesson format, this module was carried out in lecture and tutorial style. Tutorials were meant for either hands-on lab exercises (e.g., using Spring Boot and Ember for simple integration, or using gitflow) or working incrementally on our group project (e.g., developing user stories). The lab exercises were quite simple (even for the coding tasks) and mainly served as an application of what we have learnt from the corresponding lecture, so not to worry!

As for the project, the main industry domain was banking and finance service industry. Groups were given a few fintech challenge statements to choose one from. While working on the challenge, we had to adopt agile methods and of course, eventually showcase it in the presentation. As there was no report to be submitted, my group had to be strategic about what was included in the presentation such that we covered essential parts, while still keeping to the time limit of 15 minutes.

Ending Note

My greatest takeaway would be understanding the agile manifesto, which at the heart of it is about embracing change and implementing it in shorter iterations (compared to waterfall approach) to deliver results faster and more continuously. It is a methodology that shapes the culture of a tech team, so beyond the tools available, the people have to be on board as well.

Read my full list of module reviews!

I also sell my module notes here, feel free to browse!

Thank you for reading!