22
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

B3 ps seco-intro

Embed Size (px)

Citation preview

Page 1: B3 ps seco-intro

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

Page 2: B3 ps seco-intro

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.

Page 3: B3 ps seco-intro

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.

Page 4: B3 ps seco-intro

• Software ecosystems are collections of organizations that are related through software or a software related concept

• Software ecosystems are subsets of business ecosystems.

Collection of Organizations View

Page 5: B3 ps seco-intro

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.

Page 6: B3 ps seco-intro

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

Page 7: B3 ps seco-intro

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

Page 8: B3 ps seco-intro

SECO Scope Levels

Different scope levels for different entities of interest:

a. Software Supply Network (SSN): actors and their relationshipsb. SECO: SSNs and their relationshipsc. 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.

Page 9: B3 ps seco-intro

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)

Requirements Design DevelopmentAssembly

(including COTS)Product

PublicationProduct

DeploymentService Provision

a

b

c

d

e

f

Legend: Customer order Operation Decoupling pointx

g

Page 10: B3 ps seco-intro

How to Classify your Ecosystems?

• Base technology• Coordinators• Extension market• Accessibility

Page 11: B3 ps seco-intro

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.

Page 12: B3 ps seco-intro

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 .

Page 13: B3 ps seco-intro
Page 14: B3 ps seco-intro

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.

Page 15: B3 ps seco-intro

Research Methods in Software Ecosystems

Page 16: B3 ps seco-intro

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.

Page 17: B3 ps seco-intro

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.

Page 18: B3 ps seco-intro

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

Page 19: B3 ps seco-intro

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?

Page 20: B3 ps seco-intro

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

Page 21: B3 ps seco-intro

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

Page 22: B3 ps seco-intro

For Inspiration

• Use the software ecosystem book from Messerschmidt and Szyperski, with its list of research questions at the end of each chapter