Agile Software Engineering

Instructor: Raman Ramsin Certificate: Official (bilingual)
Term: Summer 2025 Prerequisite: Object-Oriented Programming
Schedule: Sunday and Tuesday 15:00-16:30 Online Class: Online Class

General Objective

The objective of this course is to familiarize students with the concepts, principles and methods of agile software systems engineering. After an initial introduction to agility principles, students will learn about Scrum and DAD methodologies, as well as practical agile procedures.

Topics

  1. Introduction and Basic Concepts
    • Evolutionary history of agile methods, Agile Manifesto and agility principles (1 session)
  2. Scrum Methodology
    • Fundamental concepts (2 sessions)
    • High-level planning (2 sessions)
    • Iterative activities (2 sessions)
  3. DAD Methodology (Disciplined Agile Delivery)
    • General framework (3 sessions)
    • Process (3 sessions)
    • Roles (3 sessions)
  4. Practical Agile Procedures
    • Team management, design and Kanban (2 sessions)

Assessment

References

  1. K.S. Rubin. Essential Scrum: A Practical Guide to the Most Popular Agile Process. Addison-Wesley, 2012.
  2. K. Schwaber, J. Sutherland. The Scrum Guide. Published online at: https://scrumguides.org/, November 2020 (last visited: 30 April 2024).
  3. S.W. Ambler, M. Lines.Choose Your WoW: A Disciplined Agile Delivery Handbook for Optimizing Your Way of Working. Project Management Institute, 2020.
  4. Agile Alliance. Agile 101: Subway Map to Agile Practices. Published online at: https://www.agilealliance.org/agile101/subway-map-to-agile-practices/, 2023 (visited: 30 April 2024).
  5. H. Kniberg, M. Skarin. Kanban and Scrum: Making the Most of Both. InfoQ, 2009.