Thesis subject

System Dynamics of Software Ecosystems

Level: MSc

Research area/discipline: Information Systems

Prerequisites: Information Systems for Engineers and Managers (INF31306)

Short description:

A software ecosystem (SECO) is a collection of systems, which are developed and co-evolve in the same environment. Typically, a software ecosystem consists of a common software platform and a community of internal and external actors that compose software systems to satisfy their needs. The concept is inspired from natural ecosystems in which organisms are characterized by symbiotic relationships and their survival relies heavily on the survival of the ecosystem.

Software ecosystem based development is different from the traditional software development in which a software product was the result of effort of an independent software vendor typically developing a monolithic product. In software ecosystems, the development is not intra-organizational but inter-organizational and as such spread outside the traditional borders of software companies to a group of companies, private persons, or legal entities. Software ecosystems is also different from traditional outsourcing techniques since the initiating actor or platform owner does not necessarily own the software produced by contributing actors.

An often given example of a software ecosystem is the Android ecosystem that provides a platform for external developers who can build applications, and which can then be distributed to Android users via the Google Play store. The current Android ecosystem consists now of more than 700.000 apps that have been developed by external actors worldwide [13]. Initiating and maintaining the Android software ecosystem has helped Google to increase the value of Android for its users, increased attractiveness, accelerated innovation, and decreased cost.

SECOs are typically non-linear, complex systems which are difficult to analyze. An approach for understanding and analyzing the behavior of such systems is System dynamics (SD), an aspect of systems theory as a method to understand the dynamic behavior of complex systems.

In this assignment we will focus on (1) identifying the behavioral patterns and systems variables of SECOs (2) mapping these to system dynamic models (3) developing a method for analyzing SECOs using system dynamics.

For more information: