Course syllabus
Course-PM
EDA397 / DIT193 EDA397 / DIT193 Agile development processes lp3 VT26 (7.5 hp)
Course is offered by the department of Computer Science and Engineering
Contact details
- Course responsible and lecturer
- Darko Durisic, Ph.D., Chalmers | GU (durisic@chalmers.se)
- Examiner
- Prof. Jennifer Horkoff ( jenho@chalmers.se)
- Course assistants
- Malsha Ashani Mahwatta Dona (malsha@chalmers.se)
- Wendy Zhou (zwendy@chalmers.se)
- TAs
- Tabassum Alam (gustabaal@student.gu.se)
- Tomas Zajíc (guszajito@student.gu.se)
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
| Date | Time | Room | Topic | Lecturer |
|
Tuesday 20/1 |
15:15-17:00 |
Jupiter 243, Jupiter building |
Course Intro Lecture 1 - Agile Basics |
D. Durisic Teaching assistants |
|
Thursday 22/1 |
13:15-17:00 |
Jupiter 243, Jupiter building |
Project work kick-off: Introduction to project (Start of Sprint 0) |
Teaching assistants |
|
Friday 23/1 |
15:15-17:00 |
Jupiter 243, Jupiter building |
Lecture 2 - Agile Principles, Practices and Methods (XP) |
D. Durisic |
|
Tuesday 27/1 |
13:15-17:00 |
Jupiter 243, Jupiter 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 29/1 |
08:00-11:45 |
Jupiter 243, Jupiter building |
Group work session - TAs will meet the groups and act as supervisors to give feedback on the implementation of scrum practices (End of Sprint 0) |
Teaching assistants |
|
Friday 30/1 |
15:15-17:00 |
Jupiter 243, Jupiter building |
Lecture 3 - Agile Methods (Scrum) |
D. Durisic |
|
Tuesday 3/2 |
08:00-11:45 |
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 |
|
Tuesday 3/2 |
13:15-17: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 |
|
Friday 6/2 |
15:15-17:00 |
Jupiter 243, Jupiter building |
Lecture 4 - Lean, Kanban, Scrumban |
D. Durisic |
|
Thursday 12/2 |
13:15-17:00 |
Jupiter 243, Jupiter building |
Sprint-1 review (Mandatory) |
D. Durisic |
|
Friday 13/2 |
15:15-17:00 |
Jupiter 243, Jupiter building |
Lecture 5 - Agile Roles and Leadership |
Teaching assistants |
|
Tuesday 19/2 |
13:15-17:00 |
Jupiter 243, Jupiter building |
Group work session - TAs will meet the groups and act as customers and supervisors to give feedback on the system that is being developed and the agile |
Teaching assistants |
|
Friday 20/2 |
15:15-17:00 |
Jupiter 243, Jupiter building |
Exercise 1 |
D. Durisic |
|
Tuesday 24/2 |
13:15-17:00 |
Jupiter 243, Jupiter building |
Group work session - TAs will meet the groups and act as customers and supervisors to give feedback on the system that is being developed and the agile |
Teaching assistants |
|
Thursday 26/2 |
13:15-17:00 |
Jupiter 243, Jupiter building |
Sprint-2 review (Mandatory) |
Teaching assistants |
|
Friday 27/2 |
15:15-17:00 |
Jupiter 243, Jupiter building |
Lecture 6 - Test-Driven Development, Continuous X and DevOps incl. the guest lecture from Volvo Cars |
D. Durisic |
|
Tuesday 3/3 |
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 5/3 |
13:15-17: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 |
|
Friday 6/3 |
15:15-17:00 |
Jupiter 243, Jupiter building |
Lecture 7 - Scaling Agile and Experiences from Volvo Cars |
D. Durisic |
|
Tuesday 10/3 |
13:15-17:00 |
Jupiter 243, Jupiter building |
Group work session - TAs will meet the groups and act as customers and supervisors to give feedback on the system that is being developed and the agile |
Teaching assistants |
|
Thursday 12/3 |
13:15-17:00 |
Jupiter 243, and Jupiter 122 in Jupiter building |
Product final demo (Mandatory) |
Teaching assistants |
|
Friday 13/3 |
14:15-17:00 |
Jupiter 243, Jupiter building |
Exercise 2 + 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
- Slides
- Video links
- Mandatory referenced papers
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 a possibility to retake the project next year.
Changes made since the last occasion
- Lectures:
- Updated lectures to reflect current state of the art of the agile development processes.
- Project:
- No changes.
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:
- Chalmers: Study plan
- GU: Study plan
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 19th in the morning. Re-examination slots are planned on On June 10th in the morning and Aug 24th in the afternoon.
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:
-
TBD
-
-
GU
-
TBD
-
Course summary:
| Date | Details | Due |
|---|---|---|