際際滷

際際滷Share a Scribd company logo
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 self-
  organization, 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 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
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 .
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.
Research Methods in Software
         Ecosystems
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.
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
    Joeys work on partnership models
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
For Inspiration
 Use the software ecosystem book from
  Messerschmidt and Szyperski, with its list of
  research questions at the end of each chapter

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.
  • 15. Research Methods in Software Ecosystems
  • 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