The document provides an introduction to software ecosystems through examples and definitions. It discusses software ecosystems as collections of organizations related through software or a concept. Ecosystems are defined as sets of actors functioning as a unit and interacting in a shared market. Research methods discussed include case studies, surveys, and analyzing relationships between actors. Typical research topics include software vendors, development communities, and ecosystem modeling.
1 of 22
More Related Content
B3 ps seco-intro
1. Software Ecosystems: A Quick
Introduction
Slinger Jansen, Michael Cusumano (2012). Defining Software Ecosystems: A Survey of Software
Platforms and Business Network Governance. Proceedings of the international Workshop on
Software Ecosystems 2012
2. Examples of Software Ecosystems
Standards - XML, BPM, OSGi, J2EE, Corba,
SEPA, etc.
Products - OpenOffice, Microsoft Word, SAP
BusinessOne, Grand Theft Auto, etc.
Hardware - Playstation 3, HTC Diamond, PDAs,
BMW 5 series, etc.
Platforms - .Net, Facebook, Android, OS X, etc.
3. X, Y, Z Ecosystem
Natural Ecosystem - An ecosystem consists of an
ecological community together with its abiotic
environment, interacting as a system.
Business Ecosystem - an economic community
supported by a foundation of interacting
organizations and individuals.
Digital Ecosystem - a distributed adaptive open
socio-technical system with properties of self-
organization, scalability and sustainability.
4. Collection of Organizations View
Software ecosystems are collections of
organizations that are related through
software or a software related concept
Software ecosystems are subsets of business
ecosystems.
5. Definitions
Kittlaus and Clough [29] define a software ecosystem as an informal
network of (legally independent) units that have a positive influence on
the economic success of a software product and benefit from it".
Bosch [7] defines a software ecosystem as consisting of the set of software
solutions that enable, support, and automate the activities and
transactions by the actors in the associated social or business ecosystems
and the organizations that provide these solutions
Three shared concepts stand out in these definitions:
(1) actors, organizations and businesses,
(2) networks and social or business ecosystems, and
(3) software.
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.
6. For Example: Solr Components for the
Ruby Language
Developers and components in
the Solr cluster of the Ruby
ecosystem
Developers are light-blue
Components are purplish
There are many connections
among authors (not typical)
Used Ruby-gems.org to record
author names and component
names and dependencies
7. Example 2: Manual Collection
EcoSysNetworks: A Method for Visualizing Software Ecosystems, Bala Iyer, Proceedings of the
International Workshop on Software Ecosystems 2012, pages 1 - 5
8. SECO Scope Levels
Different scope levels for different entities of interest:
a. Software Supply Network (SSN): actors and their relationships
b. SECO: SSNs and their relationships
c. SECOs: SECOs and their relationships
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.
9. Software Production Decoupling Points
Software lifecycle artifact scan be sold at different
decoupling points:
Requirements specifications (requirements documents, etc)
Product Design (Design specifications, feature requests,
etc)
Software component (libraries, etc)
Component configuration (joomla+osCommerce, etc)
Product (Oracle, Windows, etc)
Hardware + product (iPod, Phone, etc)
Service (Webservice, Gmail, etc)
Assembly Product Product Service
Requirements Design Development
(including COTS) Publication Deployment Provision
g
f
e
d
c
b
a
x
Legend: Customer order Operation Decoupling point
10. How to Classify your Ecosystems?
Base technology
Coordinators
Extension market
Accessibility
11. Classifying Sentence
The [NAME] software ecosystem is based on a
software platform,
software service platform,
software standard
and is coordinated by a
privately owned entity
community
With
no extension market,
a list of extensions,
an extension market,
a commercial extension market,
multiple extension markets
to which participants can submit extensions
for free,
after a screening,
after making a payment.
12. For example: Apple
The Apple iOS software ecosystem is based on
a software platform and coordinated by a
privately owned entity with a commercial
extension market to which participants can
submit extensions after making a payment .
14. Ecosystem Health: Productivity,
Robustness, and Niche Creation
Productivity - A network's ability to consistently
transform technology and other raw materials of
innovation into lower costs and new products.
Simple to measure: return on invested capital.
Robustness - Should be capable of surviving
disruptions such as unforeseen technological
change.
Niche creation - the ecosystem's capacity to
increase meaningful diversity through the
creation of valuable new functions or niches.
Strategy as Ecology, Marco Iansiti and Roy Levien. Harvard Business Review, March 2004.
16. Typical Research Directions
Lets take the definition and work from there
A set of actors functioning as a unit and
interacting with a shared market for software
and services, together with the relationships
among them.
17. A set of actors functioning as a unit and interacting with a shared market for
software and services, together with the relationships among them
Who are these organizations and people?
What are the constituents in a software ecosystem or development
community?
Types of research
Economical research
Statistical analysis / surveys
Case studies
Sources of information
Source repositories
The web (programmableweb.com)
Statistics bureaus
Partner lists (example: see ODA web site)
Etc.
18. A set of actors functioning as a unit and interacting with a shared market for
software and services, together with the relationships among them
What are these ecosystems?
What defines their boundaries?
What makes them collaborative?
How does the unit function?
Types of research
Economical research
Case studies
Sources of information
Mostly inside information, interviews, news, etc.
Market intelligence (for example, distimo)
Example
The work of Bala Iyer or that of den Hartigh
19. A set of actors functioning as a unit and interacting with a shared market for
software and services, together with the relationships among them
What are the underlying technical platforms?
How do they work?
How do they enable the software ecosystem?
Types of research
Economical research
Case studies (with a technical component)
Sources of information
Software architecture
APIs
Development toolkits
Example
How to write the perfect API?
20. A set of actors functioning as a unit and interacting with a shared market for
software and services, together with the relationships among them
How do parties in the ecosystems communicate?
How are they interrelated?
What are the economical effects (and benefits) from those
relationships?
Types of research
Economical research
Case studies
Sources of information
Any information you can find about the relationship
Example research
Joeys work on partnership models
21. Typical Topics
Strategic advice for software vendors Software product management
A software ecosystem analysis method Software product lines
Software ecosystem models Software development communities
API related topics: design, development, Software ecosystem orchestration
marketing Market-specific domain engineering
Software ecosystem modeling Open source software ecosystems
Software ecosystem practices and experience Virtualized software enterprises
Software business models API compatibility over subsequent releases
Product software and software licensing Platform powers
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
22. For Inspiration
Use the software ecosystem book from
Messerschmidt and Szyperski, with its list of
research questions at the end of each chapter