Course syllabus for Agile development processes

Course syllabus adopted 2022-02-01 by Head of Programme (or corresponding).

Overview

  • Swedish nameAgile development processes
  • CodeEDA397
  • Credits7.5 Credits
  • OwnerMPSOF
  • Education cycleSecond-cycle
  • Main field of studyComputer Science and Engineering, Industrial Engineering and Management, Software Engineering
  • DepartmentCOMPUTER SCIENCE AND ENGINEERING
  • GradingTH - Pass with distinction (5), Pass with credit (4), Pass (3), Fail

Course round 1

  • Teaching language English
  • Application code 24113
  • Maximum participants65 (at least 10% of the seats are reserved for exchange students)
  • Block schedule
  • Open for exchange studentsYes

Credit distribution

0107 Project 4.5 c
Grading: UG
0 c0 c4.5 c0 c0 c0 c
0207 Examination 3 c
Grading: TH
0 c0 c3 c0 c0 c0 c

In programmes

Examiner

Eligibility

General entry requirements for Master's level (second cycle)
Applicants enrolled in a programme at Chalmers where the course is included in the study programme are exempted from fulfilling the requirements above.

Specific entry requirements

English 6 (or by other approved means with the equivalent proficiency level)
Applicants enrolled in a programme at Chalmers where the course is included in the study programme are exempted from fulfilling the requirements above.

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 computer science 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)

  • 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

    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:
    • 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

    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

    The grading scale comprises: U, 3, 4, and 5. The grading scale of the project (4,5hp) comprises: U and G. The grading scale of the written hall examination (3hp) comprises: U, 3, 4, and 5.

    A passing grade for the entire course requires at least a passing grade for all sub-courses. To get a higher grade than Pass, a higher grade in the written hall examination is required.

    The course examiner may assess individual students in other ways than what is stated above if there are special reasons for doing so, for example if a student has a decision from Chalmers on educational support due to disability.