Official course description, subject to change:

Preliminary info last published 15/05-23
Course info
ECTS points:
Course code:
Participants max:
Offered to guest students:
Offered to exchange students:
Offered as a single subject:
Price for EU/EEA citizens (Single Subject):
10625 DKK
MSc. Master
MSc in Computer Science
Course semester
Efterår 2024
26 August 2024
27 December 2024
Exam type
ekstern censur
Grade Scale
Exam Language

Today we rarely use programs that are developed to fit one specific customer. When we play games, use business systems for administration, or download apps to our phones, we use software that is part of software ecosystems: software products that are configured to fit a specific business context; platforms that allow sharing of specific kinds of software; or software as a service. Examples of software ecosystems have developed around software products, like game engines, or enterprise resource planning (ERP or CRM) software, integrated development environments like visual studio and platforms like the Android operating system. 

In this course you explore software ecosystems from UX design, organizational and technical perspectives. To this end you will analyse a software ecosystem together, propose an improvement related to the ecosystem, and support your proposal with a prototype and / or other design artefacts.


Most of the software we use is not developed specifically for one organisation, but for groups of customers and users. Software provided as a service likewise is developed for a generic usage that needs to be configured and tailored to the specific needs of customers and users. To understand the evolution of such software products and platforms, it is not enough to look at the individual piece of software. Not taking into account the interaction between different actors – ranging from the provider of the core product or platform to consultancies configuring the software, customers and users – will result in the software becoming obsolete, or customers and users searching for alternatives. The providers of software products and platforms need to strike a balance between genericity and specificity: The generic design, on the one hand, allows to provide powerful functionality, on the other hand, it constrains the possibilities for adaptation to the specific context. Many software products therefore allow for ‘design in use’ through tailoring and configuration by the end users. 

The course explores software ecosystems from three perspectives: 

The UX Design perspective focuses on the possibilities and constraints software products and platforms provide for the user. Many of the software products open up for End User Development, allowing – to a certain extend – the design-in-use of the software. The course will also explore the constraints that the usage of software products put on the embedment of the software in concrete work practices. The course will further explore how UX design is used to inform the product management in software ecosystems and the means of users to influence the direction in which the software ecosystem develops.

The organizational and business perspective explores the governance and economic viability of software ecosystems. How can we describe the interaction between the business models of different stakeholders in the ecosystem? How can we analyze business models for software ecosystems, which typically involve multiple actors? We will explore governance structures that have (been) developed to deliberate decisions on new features and change of the underpinning architecture. Another topic will be innovation processes in software ecosystems: What can companies learn about needs and already implemented solutions by the end-user?

The software engineering perspective explores the technical design and development processes in software ecosystems. The course discusses the technical side of End User Development, that means different approaches to defer design decisions by providing tailoring and configuration interfaces or relying on the customization through consultancies or local developers. We explore how the ongoing and continuous evolution of the products and platform as well as their customisation affect software processes. This also includes the analysis of life site data to understand user needs and preferences and drive the development.

Research centered lectures will be complemented with guest lectures from industry experts. The plan is to invite at least two guest lectures for each of the three perspectives.

The theoretical part of the course, consisting of lectures, guest lectures and readings will be complemented by a project where student teams first analyse a software ecosystem using methods and tools presented in the course and, during the second half of the course, design on an improvement, add on, or service based on the software ecosystem, which should be supported by a prototype and / or other design artefacts. The teams are expected to discuss the readings together.

Formal prerequisites

The course is offered under the M.Sc. program but is an elective for all other M.Sc. programs at the IT University as well.

There are no formal prerequisites other than a B.Sc. degree, but the students should study one of the M.Sc. programs at the IT University.

Computer Science and Software Design students might benefit from having taken the software architecture course.

Students studying Digital Innovation and Management might benefit from having taken service design and innovation management courses. 

For Digital Design students having read the design driven innovation course and taking the service design specialization can be beneficial.

From the Games program, students who are interested in the integration of game design, construction and the business based on them might benefit most from the course.

Intended learning outcomes

After the course, the student should be able to:

  • Describe and explain the concept of software ecosystem and related core concepts (such as actors, business models, architecture, and governance mechanisms).
  • Analyse a software ecosystem from a technical, organizational, business and design perspective.
  • Discuss and relate the analysis of a concrete software ecosystem to current research on software ecosystems.
  • Show how technical design and development, organizational structures and business models, user centered design and end-user development mutually depend on each other.
  • Identify challenges in the design and evolution of software product and platform ecosystems taking these three dimensions into account and offer suggestions for how these challenges can be addressed.
  • Discuss where and how the Software Ecosystem context challenges conventional design and development processes, methods and techniques.
Ordinary exam
Exam type:
D: Submission of written work with following oral, External (7-point scale)
Exam variation:
D2G: Submission for groups with following oral exam supplemented by the submission. Shared responsibility for the report.