Course syllabus

Course-PM

EDA397 / DIT193 EDA397 / DIT193 Agile development processes lp3 VT23 (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 17/1

15:15-17:00

Jupiter 243, Jupiter building

Lecture 0 – Introduction to the course and project work

Lecture 1 - Agile Basics

D. Durisic

Teaching assistants

Thursday 19/1

13:15-17:00

Delta, SVEA building

Project work kick-off: Introduction to project

Teaching assistants

Friday 20/1

13:15-15:00

Delta, SVEA building

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

D. Durisic

Tuesday 24/1

13:15-17:00

Jupiter 243, Jupiter building

Group work session (TA are available if needed)

Teaching assistants

Thursday 26/1

09:15-13:00

Jupiter 243, Jupiter building

Group work session followed by Supervision with TA (Mandatory attendance)

Teaching assistants

Thursday 26/1

15:15-17:00

Beta, Saga building

Lecture 3 - Agile Methods (Scrum)

D. Durisic

Friday 27/1

13:15-15:00

Delta, Svea building

Lecture 4 - Lean, Kanban, Scrumban

D. Durisic

Tuesday 31/1

09:15-13:00

Jupiter 121, Jupiter building

Group work session followed by Supervision with TA (Mandatory attendance)

Teaching assistants

Tuesday 31/1

13:15-17:00

Beta, Saga building

Group work session(TA are available if needed)

Teaching assistants

Thursday 2/2

15:15-17:00

Alfa, Saga building

Exercise 1: Miniature game

Q&A session

D. Durisic

Thursday 9/2

13:15-17:00

Jupiter 041, Jupiter building 

Group work session including Sprint review (Mandatory Attendance)

Teaching assistants

Tuesday 14/2

13:15-17:00

Delta, Svea building

Group work session followed by Supervision with TA (Mandatory attendance)

Teaching assistants

Friday 17/2

13:15-15:00

Jupiter 243, Jupiter building

Lecture 5 - Agile Roles and Leadership

D. Durisic

Tuesday 21/2

13:15-17:00

Delta, Svea building

Group work session followed by Supervision with TA (Mandatory attendance)

Teaching assistants

Thursday 23/2

13:15-17:00

Omega, Jupiter building

Group work session including Sprint review(Mandatory Attendance)

Teaching assistants

Friday 24/2

13:15-15:00

Jupiter 243, Jupiter building

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

D. Durisic

Tuesday 28/2

13:15-17:00

Jupiter 243, Jupiter building

Group work session followed by Supervision with TA (Mandatory attendance)

Teaching assistants

Thursday 2/3

13:15-17:00

Alfa, Saga building

Group work session(TA are available if needed)

Teaching assistants

Friday 3/3

15:15-17:00

Jupiter 243, Jupiter building

Lecture 7 - Scaling Agile (SAFe)

D. Durisic

Tuesday 7/3

13:15-17:00

Delta, Svea building

Group work session followed by Supervision with TA (Mandatory attendance)

Teaching assistants

Thursday 9/3

13:15-17:00

Alfa, Saga building

Group work session including Sprint review+ Product final demo (Mandatory Attendance)

Teaching assistants

Friday 10/3

13:15-17:00

Alfa, Safa building

Lecture 8 - Agile Transformation at Volvo Cars

Exercise 2 - Volvo Brochure

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")
    • 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, some papers available under "Files")

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:
    • Revised order and content of the lectures (more similar to the lectures in 2019 and 2020).
    • Added lecture on the experiences from the "Agile Transformation at Volvo Cars" instead of the guest lecture.
  • Project:
    • Domain for the project is changed from "E-commerce website" to "Event Management website".
    • Application type was changed from mobile  to web application
    • Each student must upload an individual report at the end of the development and this report will be graded. 

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 16th (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
    • Nivetha Davidson
    • Hariharan Gopinath
  • GU
    • Davide Canci
    • Yasin Javaid

Course summary:

Date Details Due