Institutionernas doktorandkurser

Startdatum och periodicitet för kurser kan variera. Se detaljer för respektive kurs för aktuell information. För anmälan, kontakta respektive kursansvarig. 

Agile Software Development

  • Kurskod: FDAT055
  • ECTS-poäng: 5,0
  • Forskarskola: Data- och informationsteknik
  • Periodicitet: LP 4
  • Undervisningsspråk: Kursen kommer att ges på engelska

In this project, PhD students will learn about agile software development, with emphasize on i) the relationship of this topic to their own research area and ii) on transferring their own research results into agile software development projects. The course consists of lectures and a consultancy project, where PhD students work with agile teams (either student teams in the Master program or industrial teams).

Target group
The course assumes that PhD students have selected a topic and did at least some initial work into that direction. Students will find it most valuable shortly before or after their Licenciate.

Entry Requirements
Participating PhD students should be able to prove possession of basic knowledge in software development processes and fundamental concepts of software engineering.

Course Content
The course teaches how to use agile methods in software development and how to work in projects based on the following principles taken from the Manifest for Agile Software Development:

  • Individuals and interactions, over processes and tools.
  • Working software, over comprehensive documentation.
  • Customer collaboration, over contract negotiation.
  • Responding to change, over following a plan.

Topics covered

  • Management and methods to develop programs incrementally.
  • Principles of Agile processes.
  • Refactoring (restructuring) of programs and designs.
  • 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.

Learning outcomes
After completing the course the student is expected to be able to:

  • Knowledge and understanding
    1. Compare agile and more traditional software development.
    2. Relate lean and agile development.
    3. Contrast different agile methodologies.
    4. Use the agile manifest and its accompanying principles.
    5. Discuss what is different when leading an agile compared to traditional teams.
    6. Discuss how own research field relates to agile software development
  • Skills and abilities
    1. Consult agile development teams in applying results from the student¿s research field.
    2. Collaborate in small software development teams.
    3. Interact and show progress continuously with a customer or user.
    4. Develop programs using small and frequent iterations.
    5. Conduct incremental planning using user stories
  • Judgment and approach
    1. Exhibit deep understanding of synergies and impediments between agile development and own research.
    2. Explain how software development can be seen as primarily people- and communication‐centric.
    3. Apply the fact that people are the primary drivers of project success.
    4. Describe why no single methodology can fit all projects or contexts.
    5. Discuss how development methodologies need to adapt to varying human cultures and choices.

The examination consists of three parts:

  1. A software consultancy project where PhD students support project-­‐ groups based on their research topic to develop software using agile practices.
  2. A post‐mortem report (individual) that outlines the PhD student¿s experience with aligning their research topics with agile practices during the software development project, referring to course literature where appropriate.
  3. A presentation discussing preliminary contents of the post-­‐mortem report and relating the PhD student¿s topic to agile software development.

Eric Knauss E-mail: Phone: 772 1080
Mer information

Sidansvarig Publicerad: on 10 feb 2021.