Course syllabus

Course-PM

EDA397 / DIT193 EDA397 / DIT193 Agile development processes lp3 VT24 (7.5 hp)

Course is offered by the department of Computer Science and Engineering

Contact details

Course purpose

Agile software development aims at setting up an environment to develop software based on the following principles from the agile manifesto:

  • Individuals and interactions is valued more than processes and tools
  • Working software is valued more than comprehensive documentation
  • Customer collaboration is valued more than contract negotiation
  • Responding to change is valued more than following a plan

At the core of these principles is the realization that changes are inevitable and the conclusion that change management needs to be integrated into the development process. Agile approaches promotes iterative and incremental development by using a very tight design-code-test cycle.

In this interactive course we will explore together how to apply these agile principles to develop software and manage projects.

The course covers:

  • Principles and practices of agile methods such as XP, Scrum and Lean
  • Testing and test automation on both unit and system levels
  • Communication- and people-centric software development
  • Agile methods in relation to more traditional, plan-based methods
  • Criticism to agile development methods
  • Leading agile development projects and identifying the most important roles
  • Scaling agile principles and practices to large organizations
  • Measuring key performance indicators (KPIs) of agile teams

Schedule

TimeEdit

Date Time Room Topic Lecturer

Tuesday 16/1

15:15-17:00

Jupiter 243, Jupiter building

Course Intro

Lecture 1 - Agile Basics

D. Durisic

Teaching assistants

Thursday 18/1

13:15-17:00

Delta, SVEA building

Project work kick-off: Introduction to project (Mandatory)

Teaching assistants

Friday 19/1

15:15-17:00

(we start at 15:15, not 13:15)

Delta, SVEA building

Lecture 2 - Agile Principles, Practices and Methods (XP)

D. Durisic

Tuesday 23/1

13:15-17:00

Jupiter 243, Jupiter building

Group work session - TAs will meet the groups and act as customers to give feedback on the system that is being developed.

Teaching assistants

Thursday 25/1

08:15-12:00

Jupiter 243, Jupiter building

Group work session - TAs will meet the groups act as supervisors to give feedback on the implementation of scrum practices.

Teaching assistants

Thursday 25/1

15:15-17:00

Beta, Saga building

Lecture 3 - Agile Methods (Scrum)

D. Durisic

Friday 26/1

15:15-17:00

Delta, Svea building

Lecture 4 - Lean, Kanban, Scrumban

D. Durisic

Tuesday 30/1

08:15-13:00

Jupiter 121, Jupiter building

Group work session - TAs will meet the groups and act as customers to give feedback on the system that is being developed.

Teaching assistants

Tuesday 30/1

13:15-17:00

Alfa, Saga building

Group work session - TAs will meet the groups act as supervisors to give feedback on the implementation of scrum practices.

Teaching assistants

Thursday 1/2

15:15-17:00

Alfa, Saga building

Lecture 5 - Agile Roles and Leadership

D. Durisic

Thursday 8/2

13:15-17:00

Jupiter 041, Jupiter building 

Sprint review (Mandatory)

Teaching assistants

Tuesday 13/2

13:15-17:00

Delta, Svea building

Group work session - TAs will meet the groups and act as customers to give feedback on the system that is being developed.

Teaching assistants

Friday 16/2

15:15-17:00

Jupiter 243, Jupiter building

Lecture 6 - Test-Driven Development, Continuous X and DevOps

D. Durisic

Tuesday 20/2

13:15-17:00

Delta, Svea building

Group work session - TAs will meet the groups and act as supervisors to give feedback on the system that is being developed.

Teaching assistants

Thursday 22/2

13:15-17:00

Omega, Jupiter building

Sprint review (Mandatory)

Teaching assistants

Friday 23/2

15:15-17:00

Jupiter 243, Jupiter building

Exercise 1

D. Durisic

Tuesday 27/2

13:15-17:00

Jupiter 243, Jupiter building

Group work session - TAs will meet the groups and act as customers to give feedback on the system that is being developed.

Teaching assistants

Thursday 29/2

13:15-17:00

Alfa, Saga building

Group work session - TAs will meet the groups act as supervisors to give feedback on the implementation of scrum practices.

Teaching assistants

Friday 1/3

15:15-17:00

Jupiter 243, Jupiter building

Lecture 7 - Scaling Agile and Experiences from Volvo Cars

D. Durisic

Tuesday 5/3

13:15-17:00

Delta, Svea building

Group work session - TAs will meet the groups and act as customers to give feedback on the system that is being developed.

Teaching assistants

Thursday 7/3

13:15-17:00

Alfa, Saga and Svea118

 Product final demo (Mandatory)

Teaching assistants

Friday 8/3

15:15-17:00

Alfa, Safa building

Q&A and exam preparation

D. Durisic

Course literature

Mandatory:

  • Course book: Agile! The Good, the Hype and the Ugly, Bertrand Meyer, 2014
    • Both hard copy and electronic versions available at the library (e.g., Chalmers Library).
  • Lectures material (e.g., slides & video links)
  • Mandatory papers (mentioned during the lectures and available under "Files")
    • What Makes Agile Software Development Agile?
    • DevOps in practice A multiple case study of five companies
    • Large-scale agile transformation at Ericsson: a case study
    • Benefits and Challenges of Adopting SAFe - An Empirical Survey

Optional:

  • Other suggested books and papers (mentioned during the lectures)

Course design

The course is organized in 8 lectures and 2 exercises of 2x45 minutes, and a number of 4x45 minute slots for project work in teams where both supervision and assessment will be made.

In order to pass the course, we advise the students to attend lectures and actively participate in the team work on the project.

Communication:

  • Student -> teacher(s)
    • Contact teachers via email (see email addresses in the contact list above)
    • Use your official student email
    • Your full name must be in the FROM or the signature
    • Tag your subject line with [EDA397] or [DIT193]
  • Teacher(s) -> students
    • Read Canvas announcements
    • Don’t expect to be notified by email about things

If you fail the exam, you have a possibility to take re-exams. If you fail the project, there will be one chance of improvement and after that a possibility to retake the project next year.

Changes made since the last occasion

  • Lectures:
    • No major changes other than some updated and new slides.
  • Project:
    • No individual project report submission this time.
    • No weekly group sprint report submission this time.
    • Will have a group presentation and opposition discussion this time.

Learning objectives and syllabus

On successful completion of the course, the student will be able to:

  • Knowledge and understanding
    • compare agile and more traditional software development, relate lean and agile development, and contrast different agile methodologies for the development of software systems
    • use the agile manifest and its accompanying principles
    • discuss what is different when leading an agile compared to traditional teams
    • explain how software development can be seen as people- and communication-centric
    • explain how to scale agile principles and development methods for large organizations
    • explain major roles in the agile development process and discuss various levels of authority of team leadership
    • describe the SAFe framework
    • describe an agile transformation in traditional software companies
  • Skills and abilities
    • organize an agile team to maximise its productivity and facilitate communication between people
    • collaborate and apply agile way or working in small software development teams
    • interact and show progress continuously with a customer or user
    • develop programs using small and frequent iterations in a way that facilitates building in quality from the start
    • use test-driven development and test automation, refactor a program and a design, and conduct incremental planning using user stories
    • identify and eliminate waste (i.e. unnecessary activities) in the software development process
    • design measurement system to follow continuous improvement of teams' performance
  • Judgement and approach
    • explain how software development can be seen as primarily people- and communication-centric
    • describe why no single methodology can fit all projects or contexts
    • critically assess agile development methods given a certain context and identify common misconceptions
    • identify major dysfunctions of the teams and phases they go through during agile transformation
    • recognize what motivates people for their best performance

Link to the syllabus on Studieportalen:

Examination form

The course is examined by the passed or failed project (4.5 hec) done in teams and team presentations, and an individual written exam (3.0 hec) without aids graded according to the rules at GU and Chalmers, respectively. Lectures  and mandatory readings are used as basis for the exam questions. Project is examined by mandatory individual and team project hand-ins and during the project work sessions.

The written exam is scheduled on March 14th (morning), Lindholmen.

A student who has failed the same examination twice has the right to request a change of examiner of the department. The request is to be in writing and submitted as soon as possible. The department is to grant such a request without undue delay.

Regardless if you are a GU- or a Chalmers student, don’t forget to sign up for the written hall examination!

This is done in Ladok and can only be done during the sign-up period. Sign-up is mandatory and if you are not registered you won’t be allowed to enter the examination hall.

GU-students, find more information here.

Chalmers-students, fins more information here.

Course reprsentatives

  • Chalmers
    • Xiaoran Zhang

    • Eugene Dvoryankov

    • Stina Hansson

  • GU
    • Kristoffer Gustafsson

    • Domenico Crovetto

Course summary:

Date Details Due