Defining Software Ecosystems

advertisement
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
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.
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 selforganization, scalability and sustainability.
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.
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.
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
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
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.
Software Production Decoupling Points
• Software lifecycle artifact scan be sold at different
decoupling points:
–
–
–
–
–
–
–
Requirements
Requirements specifications
Product Design
etc)
Software component
Component configuration
Product
Hardware + product
Service
Design
(requirements documents, etc)
(Design specifications, feature requests,
(libraries, etc)
(joomla+osCommerce, etc)
(Oracle, Windows, etc)
(iPod, Phone, etc)
(Webservice, Gmail, etc)
Assembly
(including COTS)
Development
Product
Deployment
Product
Publication
Service
Provision
g
f
e
d
c
b
a
Legend:
Customer order
Operation
Decoupling point
x
How to Classify your Ecosystems?
•
•
•
•
Base technology
Coordinators
Extension market
Accessibility
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.
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 .
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.
Research Methods in Software
Ecosystems
Typical Research Directions
• Let’s 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.
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.
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
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?
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
– Joey’s work on partnership models
Typical Topics
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
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
Platform powers
For Inspiration
• Use the software ecosystem book from
Messerschmidt and Szyperski, with its list of
research questions at the end of each chapter
Download