Official course description:

Full info last published 15/05-23
Course info
Language:
English
ECTS points:
7.5
Course code:
KSSOECO1KU
Participants max:
24
Offered to guest students:
yes
Offered to exchange students:
yes
Offered as a single subject:
yes
Price for EU/EEA citizens (Single Subject):
10625 DKK
Programme
Level:
MSc. Master
Programme:
MSc in Computer Science
Staff
Course manager
Full Professor
Teacher
Associate Professor
Course semester
Semester
Efterår 2023
Start
28 August 2023
End
26 January 2024
Exam
Exam type
ordinær
Internal/External
ekstern censur
Grade Scale
7-trinsskala
Exam Language
GB
Abstract

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.


Description

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.
Learning activities

In the lecture and seminar track, lectures and industrial guest lectures are combined with student centered learning activities, especially reading, analysis and discussion of scientific literature and presentation of the results thereof. The learning activities are chosen so that students learn to read, analyse, and present academic literature, and relate it to practical or research problems. 

The course literature consists of a compendium of ca 15 scientific articles. As reference literature, the book “Engineering Software Products” by Ian Sommerville is recommended, especially for students from other programs than the M.Sc. in Computer Science.

Teaching and learning activities will be adjusted to accommodate the heterogeneous expertise and skills of the students reading the course. The lecture and seminar track will also support the teams with tools to facilitate cross disciplinary collaboration. 

For the project, the student teams of 4- 6 students will be formed. Each team will choose a software ecosystem to work with. The projects start with analysing the software ecosystem, they chose to work with, from different perspectives. Based on the analysis, the teams will decide on a possible improvement/add-on or similar and develop the concept using e.g., prototypes and other design artefacts. Besides supervision, the teams will present their project twice during the term. The teams will be assigned a fixed supervisor throughout the term.

Mandatory activities

1.) Participation in 80% of the weekly supervisions. 
Each team will have assigned a supervisor following the team throughout the whole term. All team members are expected to participate in 9 out of the 11 supervision meetings. 

2.) Participation in the presentation of the analysis of the ecosystem in week 41.

3.) Participation in the presentation of the improvement/add-on to the ecosystem supported by suitable design artefacts/prototypes in the last week of the term.

There will be possibilities in case a student falls sick or is for similar reasons not able to attend the presentations/supervisions.

In case any of the conditions is not met, the student fails to go to the exam, receiving an NA grading. 

The student will receive the grade NA (not approved) at the ordinary exam, if the mandatory activities are not approved and the student will use an exam attempt.

The student will receive the grade NA (not approved) at the ordinary exam, if the mandatory activities are not approved and the student will use an exam attempt.

Course literature

The course literature will consist of a curriculum of ca 20 research articles published on the homepage of the course. 

Reference literature:

Sommerville, Ian. Engineering software products. Pearson, 2020.


Student Activity Budget
Estimated distribution of learning activities for the typical student
  • Preparation for lectures and exercises: 15%
  • Lectures: 15%
  • Project work, supervision included: 50%
  • Exam with preparation: 20%
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.
Exam submission description:
The reports consists of an analysis of a software ecosystem and the design of an improvement supported by a prototype and/or other adequate design artefacts.
Group submission:
Group
  • For the project, the student teams of ca 6 students will be formed.
Exam duration per student for the oral exam:
30 minutes
Group exam form:
Group exam : Joint student presentation followed by a group dialogue. All the students are present in the examination room throughout the examination.


reexam
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.
Exam submission description:
The reports consists of an analysis of a software ecosystem and the design of an improvement supported by a prototype and/or other adequate design artefacts.
Group submission:
Group
  • For the project, the student teams of ca 6 students will be formed.
Exam duration per student for the oral exam:
30 minutes
Group exam form:
Group exam : Joint student presentation followed by a group dialogue. All the students are present in the examination room throughout the examination.

Time and date
Ordinary Exam - submission Tue, 2 Jan 2024, 08:00 - 14:00
Ordinary Exam Mon, 15 Jan 2024, 09:00 - 21:00
Reexam - submission Wed, 28 Feb 2024, 08:00 - 14:00
Reexam Fri, 15 Mar 2024, 09:00 - 12:00