Department of Information and Computing Sciences

Departement Informatica Onderwijs
Bachelor Informatica Informatiekunde Kunstmatige intelligentie Master Computing Science Game&Media Technology Artifical Intelligence Business Informatics

Onderwijs Informatica en Informatiekunde

Vak-informatie Informatica en Informatiekunde

Software ecosystems

Website:website containing additional information
Course code:INFOMSSE
Credits:7.5 ECTS
Period:period 2 (week 46 through 5, i.e., 14-11-2016 through 3-2-2017; retake week 16)
Participants:up till now 19 subscriptions
Schedule:Official schedule representation can be found in Osiris
Teachers:Dit is een oud rooster!
lab session group 1 Tue 15.15-17.0046-51 BBG-109 CLZ
2-4 BBG-109 CLZ
lecture   Tue 13.15-15.0046-51 RUPPERT-135 Slinger Jansen
2-5 RUPPERT-135
Thu 15.15-17.0046-51 DDW-1.32
2-4 DDW-1.32
5 BBG-020
Contents:The goals of this course are:
  • To get students intimately familiar with the theory of software ecosystems, specifically management, modeling, and simulation
  • To get students acquainted with the academic writing and publication process
  • To contribute to the collection of knowledge on software ecosystems
  • To show students the cutting edge of science in a field and to provoke thought about future developments
The aim of the course is to get students familiar with selected topics on software ecosystems but also to get students familiar with the academic publication process.

Software vendors no longer function as independent units, where all customers are end-users, where there are no suppliers, and where all software is built in-house. Instead, software vendors have become networked, i.e., software vendors are depending on (communities of) service and software component suppliers, value-added-resellers, and pro-active customers who build and share customizations. Software vendors now have to consider their strategic role in the software ecosystem to survive. With their role in the software ecosystem in mind, software vendors can become more successful by opening up their business, devising new business models, forging long-lasting relationships with partnership networks, and overcoming technical and social challenges that are part of these innovations.

A software ecosystem is a set of actors functioning as a unit and interacting with a shared market for software and services, together with the relationships among them. These relationships are frequently underpinned by a common technological platform or market and operate through the exchange of information, resources and artifacts. Several challenges lie in the research area of software ecosystems. To begin with, insightful and scalable modeling techniques for software ecosystems currently do not exist. Furthermore, methods are required that enable software vendors to transform their legacy architectures to accommodate reusability of internal common artifacts and external components and services. Finally, methods are required that support software vendors in choosing survival strategies in software ecosystems.

SECOs introduce many new research challenges on both a technical and a business level. In a traditionally closed market, software vendors are now facing the challenge of opening up their product interfaces, their knowledge bases, and in some cases even their software. Software vendors must decide how open their products and interfaces are, new business models need to be developed, and new standards for component and service reuse are required. These challenges have been identified but have hardly been picked up by the research community.

During this course topics on SECOs are discussed. These topics can range from consultancy oriented for product software companies to highly technical for software engineers. The course is largely dependent on student participation. Some example topics are:
* Strategic advice for software vendors
* A software ecosystem analysis method
* Software ecosystem models
* API related topics: design, development, marketing
* Software ecosystem modeling
* Software ecosystem practices and experience
* Software business models
* Product software and software licensing
* Communities of practice and software reuse
* Economic impact of software ecosystems
* Software ecosystem creation
* Keystone and niche player survival strategy
* Architectural implications of reusability
* Formal modeling of business models
* API development
* Publishing APIs
* Software product management
* Software product lines
* Software development communities
* Software ecosystem orchestration
* Market-specific domain engineering
* Open source software ecosystems
* Virtualized software enterprises
* API compatibility over subsequent releases
* API hubs
Literature:This course is based on several books, articles, and papers.

The required book for this course is:
Jansen, S., Cusumano, M., Brinkkemper, S. Software Ecosystems: Analyzing and Managing Business Networks in the Software Industry. Edward Elgar Publishers, 350 pages. ( (please note a cheap paperback is available through Slinger)

It is recommended that you get at least one of the following two books:
The Keystone Advantage: What the New Dynamics of Business Ecosystems Mean for Strategy, Innovation, and Sustainability - Marco Iansiti, Roy Levien - Harvard Business School Press - 2004

Software Ecosystem: Understanding an Indispensable Technology and Industry - David G. Messerschmitt, Clemens Szyperski - The MIT Press - 2005

Furthermore it is recommended to at least read the following papers in preparation:
Bosch, J. (2009). From Software Product Lines to Software Ecosystems. 13th International Software Product Line Conference (SPLC 2009)

Jansen, S., Brinkkemper, S., Finkelstein, A. (2009). A Sense of Community: A Research Agenda for Software Ecosystems. 31st International Conference on Software Engineering, New and Emerging Research Track.
Course form:The course consists of two meetings per week of four hours. During the first sessions of the course the lecturer discusses some of the prime challenges in this research area. Furthermore, a number of sessions are organized around some of the previous research on the topic. The second round of sessions consists of student presentations that present their topics in short. During a third round of presentations some commercial parties are invited to provide a guest lecture and provide comments on the student topics. During the fourth round of presentations students are asked to present their topic in full. Please note: due to the special nature of this course, students are expected to attend at least 90% of all classes.
Exam form:The result for the course on Software Ecosystems is based on the grades provided for each of the deliverables. For the final paper the grade must be at least a 6. Please note: as of 2016-2017 it is necessary that students hand in a theoretical model with their research method with a signature. Every year there is one student group that changes their research method at the very latest moment, which mostly has ended in failure of the course.
Minimum effort to qualify for 2nd chance exam:Om aan de aanvullende toets te mogen meedoen moet de oorspronkelijke uitslag minstens 4 zijn.
Description:Final paper submissions should conform to the LNCS format. Templates can be found on DropBox.