Skip to main content

ID2006 Software Evolution and Maintenance 7.5 credits

To change or not to change, that is the question?
Or should we rather say change or perish!!!!!
How many systems do the software engineers start building from scratch today? Well, not many. How many systems do the software engineers support today? The majority. Therefore, the success of many software organisations will strongly depend on how well they may support (evolve and maintain) these systems. And YOUR SUCCESS will strongly depend on how well prepared you will be to face the evolution and maintenance challenge.
So, take the opportunity and learn how to meet this challenge on the Software Evolution and Maintenance course. I promise you will not regret it. First of all, it is a very interesting course. After the first lecture you will become as deliriously enthusiasic as the course leader is. Second of all, it is a unique course. It is even internationally listed among the very few courses on the subject in the world (see
Software evolution and maintenance has become one of the most important, costly and complex activities within software engineering. Its cost reaches almost 90% of the total life-cycle cost. Evolution and maintenance encompasses enhancement of extant software systems with new functionality, attendance to software defects, adaptation to new environment, and prevention of future problems.
Despite the fact that evolution and maintenance has become the dominating software engineering activity, most of the academic courses today are only dedicated to software development, the phase before the system is delivered to the customer. On this course, you will learn how to effectively evolve and maintain the software systems after the system is delivered to the customer. 

Level: Advanced

Course offering missing for current semester as well as for previous and coming semesters
Headings with content from the Course syllabus ID2006 (Autumn 2007–) are denoted with an asterisk ( )

Content and learning outcomes

Course contents

Lifecycle roadmap is presented and different types of evolution and maintenance activities are placed on it. Status within industry and research is mapped out. Evolution laws are discussed and analyses in different contexts (the traditional, component-based, and open-source). Predelivery and transition maintenance models are studied and criteria for their success are identified. Impact analysis is studied. Different ways to manage customer problems are surveyed, both the critical (emergency) and non-critical ones. Retirement process model is considered. Finally, the quality attribute "maintainability" is discussed and compared to "bad smells".

Intended learning outcomes

After the accomplished course, the student should be able to

- plan for the whole software lifecycle in the initial phases of software development

- identify all support line levels involved in evolution and maintenance

- identify problems within the industry and research

- choose appropriate problem management method. The choice should be based on software criticality and problem urgency.

- explain differences among all the types of maintenance categories

- make decisions and manage legacy systems

- identify retirement activities

- evaluate agile methods from the lifecycle perspective

- motivate why it is important to build in evolvability/maintainability in a system

- describe and motivate evolution laws.

Course disposition

No information inserted

Literature and preparations

Specific prerequisites

- basic knowledge in software engineerign

Recommended prerequisites

No information inserted


No information inserted


Kajko-Mattsson, Software Evolution and Maintenance, Compendium, DSV.

Examination and completion

If the course is discontinued, students may request to be examined during the following two academic years.

Grading scale

A, B, C, D, E, FX, F


  • INL1 - Assignment, 3.0 credits, grading scale: P, F
  • TEN1 - Examination, 4.5 credits, grading scale: A, B, C, D, E, FX, F

Based on recommendation from KTH’s coordinator for disabilities, the examiner will decide how to adapt an examination for students with documented disability.

The examiner may apply another examination format when re-examining individual students.

Other requirements for final grade

- written exam, 4,5 credit points
- assignment, 3 credit points

Opportunity to complete the requirements via supplementary examination

No information inserted

Opportunity to raise an approved grade via renewed examination

No information inserted


Ethical approach

  • All members of a group are responsible for the group's work.
  • In any assessment, every student shall honestly disclose any help received and sources used.
  • In an oral assessment, every student shall be able to present and answer questions about the entire assignment and solution.

Further information

Course web

Further information about the course can be found on the Course web at the link below. Information on the Course web will later be moved to this site.

Course web ID2006

Offered by

Main field of study

This course does not belong to any Main field of study.

Education cycle

Second cycle

Add-on studies

No information inserted


Mira Kajko-Mattsson,, tel 08-16 16 70

Supplementary information

The course occasion in period P4, spring term 2011, will be canceled due to too few applicants.