Kies de Nederlandse taal
Course module: INFOMSSE
Software ecosystems
Course info
Course codeINFOMSSE
Course goals

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 seminar is to get students familiar with selected topics on software ecosystems but also to get students familiar with the academic publication process.

The result for the course on Software Ecosystems is based on the grades provided for each of the deliverables and an exam.

Students need to pass assignments 2, 5, and 9 with a grade 6 or higher.

All other assignments can be passed with a grade 4 or higher.

Assignments with no weight still need to be fulfilled for the course.
Students need to achieve a grade 5 or higher on the exam to pass the course.

For the final paper the grade must be at least a 6.

The whole course needs to be finished with a 5,5 or higher average.

A repair test requires at least a 4 for the original test.
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.

Some example topics are:
  • Virtualized software enterprises
  • Open source software ecosystems
  • Market-specific domain engineering
  • Software ecosystem orchestration
  • Software development communities
  • Software product lines
  • Software product management
  • Publishing APIs
  • API development
  • Formal modeling of business models
  • Architectural implications of reusability
  • Keystone and niche player survival strategy
  • Software ecosystem creation
  • Economic impact of software ecosystems
  • Communities of practice and software reuse
  • Product software and software licensing
  • Software business models
  • Software ecosystem practices and experience
  • Software ecosystem modeling
  • API related topics: design, development, marketing
  • Software ecosystem models
  • A software ecosystem analysis method
  • Strategic advice for software vendors
  • API compatibility over subsequent releases

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.

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. (please note a cheap paperback is can be obtained through the course coordinator)

It is recommended that you get at least one of the following two books:
  • Marco Iansiti, Roy Levien, "The Keystone Advantage: What the New Dynamics of Business Ecosystems Mean for Strategy, Innovation, and Sustainability", 2004, Harvard Business School Press
  • David G. Messerschmitt, Clemens Szyperski, "Software Ecosystem: Understanding an Indispensable Technology and Industry", 21005, The MIT Press
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.
Kies de Nederlandse taal