1 / 22

Software Ecosystems: A Quick Introduction

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.

yvetter
Download Presentation

Software Ecosystems: A Quick Introduction

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  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. • BusinessEcosystem - 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.orgto record author names and component names and dependencies

  7. Example 2: Manual Collection EcoSysNetworks: A Method for Visualizing Software Ecosystems, BalaIyer, 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. Decoupling point x Customer order Operation Software ProductionDecoupling Points • Software lifecycleartifact scan besold at different decoupling points: • Requirementsspecifications(requirementsdocuments, 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 (including COTS) Product Deployment Service Provision Product Publication Requirements Design Development g f e d c b a Legend:

  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 .

  13. 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.

  14. Research Methods in Software Ecosystems

  15. 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.

  16. 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.

  17. A set of actorsfunctioning as a unitand 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 BalaIyer or that of den Hartigh

  18. A set of actorsfunctioning 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?

  19. A set of actorsfunctioning as a unit and interacting with a shared market for software and services, together with the relationshipsamong 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

  20. 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

  21. 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