Search course

Use the search function to find more information about the study programmes and courses available at Chalmers. When there is a course homepage, a house symbol is shown that leads to this page.

Graduate courses

Departments' graduate courses for PhD-students.

​​​​
​​

Syllabus for

Academic year
EDA397 - Agile development processes  
Agile development processes
 
Syllabus adopted 2019-02-21 by Head of Programme (or corresponding)
Owner: MPSOF
7,5 Credits
Grading: TH - Five, Four, Three, Fail
Education cycle: Second-cycle
Major subject: Computer Science and Engineering, Industrial Engineering and Management, Information Technology
Department: 37 - COMPUTER SCIENCE AND ENGINEERING


Teaching language: English
Application code: 24111
Open for exchange students: Yes
Maximum participants: 65

Module   Credit distribution   Examination dates
Sp1 Sp2 Sp3 Sp4 Summer course No Sp
0107 Project 4,5c Grading: UG   4,5c    
0207 Examination 3,0c Grading: TH   3,0c   02 Jun 2020 pm L,  12 Oct 2019 am L,  27 Aug 2020 am L

In programs

MPIDE INTERACTION DESIGN AND TECHNOLOGIES, MSC PROGR, Year 2 (elective)
MPSOF SOFTWARE ENGINEERING AND TECHNOLOGY, MSC PROGR, Year 1 (compulsory elective)

Examiner:

Darko Durisic

  Go to Course Homepage

Replaces

EDA395   Personal software process EDA396   Agile development processes


Eligibility:


In order to be eligible for a second cycle course the applicant needs to fulfil the general and specific entry requirements of the programme that owns the course. (If the second cycle course is owned by a first cycle programme, second cycle entry requirements apply.)
Exemption from the eligibility requirement: Applicants enrolled in a programme at Chalmers where the course is included in the study programme are exempted from fulfilling these requirements.

Course specific prerequisites

To be eligible for this course the student should have

  • a bachelor degree in Software Engineering, Computer Science, Information Technology, Information Systems, or equivalent;
  • a completed course in programming (e.g., TDA548 Introductory software development, DAT043/DAT050 Object-oriented Programming, TDA452 Functional Programming, or equivalent);
  • a completed project course (or bachelor thesis) in applied software development or software engineering (e.g., TDA367 Object-oriented programming project, or DAT256 Software Engineering Project).

Aim

Modern software development in industry has adopted agile principles and methods, in order to e.g. increase customer focus, increase speed of development and releases, and embrace changes. This course aims to learn about software design and development using these approaches and principles, in both theory and practice. 

Learning outcomes (after completion of the course the student should be able to)

After completing the course the student is expected to be able to:
  1. Knowledge and understanding
    • compare agile and more traditional software development
    • relate lean and agile development
    • contrast different agile methodologies
    • use the agile manifest and its accompanying principles
    • discuss what is different when leading an agile compared to traditional teams
  2. Skills and abilities
    • forming a team organically
    • collaborate in small software development teams
    • interact and show progress continuosly with a customer or user
    • develop programs using small and frequent iterations
    • use test-driven development and test automation
    • refactor a program and a design
    • be member of an Agile team
    • conduct incremental planning using user stories
  3. Judgement and approach
    • explain how software development can be seen as primarily people- and communication-centric
    • apply the fact that people are the primary drivers of project success
    • describe why no single methodology can fit all projects or contexts
    • discuss how development methodologies need to adapt to varying human cultures and choices.

Content

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:
  • Management and methods to develop programs incrementally
  • Principles of Agile processes
  • Common agile practices
  • Communication- and people-centric software development
  • Agile methods in relation to more traditional, plan-based methods
  • Criticism to agile development methods

Organisation

The course consists of lectures, and a project part where software is developed using agile approaches.

Literature

See separate literature list.

Examination including compulsory elements

To pass the course, a student must have at least a passing grade in the written exam and must pass the project.


Page manager Published: Thu 04 Feb 2021.