40
Designing Software Ecosystems: How to Develop Sustainable Collaborations? Mahsa H. Sadi , Jiaying Dai, Eric Yu Department of Computer Science University of Toronto 1 CAiSE 2015 Workshop on Digital Business Innovation and the Future Enterprise Information Systems Engineering , June 9 th , 2015

Designing Software Ecosystems - How to Develop Sustainable Collaborations? - Scenarios from Apple iOS and Google Android

  • Upload
    mhsadi

  • View
    156

  • Download
    3

Embed Size (px)

Citation preview

Page 1: Designing Software Ecosystems - How to Develop Sustainable Collaborations? - Scenarios from Apple iOS and Google Android

1

Designing Software Ecosystems: How to Develop Sustainable Collaborations?

Mahsa H. Sadi, Jiaying Dai, Eric YuDepartment of Computer Science University of Toronto

CAiSE 2015 Workshop on Digital Business Innovation and the Future Enterprise Information Systems Engineering , June 9th, 2015

Page 2: Designing Software Ecosystems - How to Develop Sustainable Collaborations? - Scenarios from Apple iOS and Google Android

2

Introduction

Software EcosystemA recent practice in which software development companies collaborate with external developers in order to develop and extend a software platform for a shared market

- Jansen, Finkelstein, & Brinkkemper (2009)

Jansen, S., Finkelstein, A., & Brinkkemper, S. (2009). “A sense of community: A research agenda for software ecosystems”In 31st International Conference on Software Engineering-Companion Volume, 2009. ICSE-Companion 2009. (pp. 187-190). IEEE.

Page 3: Designing Software Ecosystems - How to Develop Sustainable Collaborations? - Scenarios from Apple iOS and Google Android

3

Example: The Mobile Software Ecosystem

Page 4: Designing Software Ecosystems - How to Develop Sustainable Collaborations? - Scenarios from Apple iOS and Google Android

4

Challenges for Platform DevelopersHow to build, grow and sustain a software ecosystem?

How to attract external application developers to a software platform?

How to establish sustainable collaborative relationships with application developers over a software platform?

Page 5: Designing Software Ecosystems - How to Develop Sustainable Collaborations? - Scenarios from Apple iOS and Google Android

5

Position in this study

To sustain and grow collaborative relationships with application developers over a software platform,

The objectives and decision criteria of the application developers need to be elicited and analyzed

Contribution of this studyA systematic approach for modeling and analyzing the objectives and decision criteria of application developers

i* goal-oriented social modeling technique is used to represent the objectives and decision criteria

Page 6: Designing Software Ecosystems - How to Develop Sustainable Collaborations? - Scenarios from Apple iOS and Google Android

6

Proposed Approach - General Steps

Question:

How to attract external application developers to a software platform?

How to establish sustainable collaborative relationships with application developers over a software platform?

Elicit the Technical and Non-Technical Requirements of a

Sustainable Collaboration

Derive Alternative Solutions for Designing

a Collaborative Environment

1Categorize Different Types of

Application Developers According to Their Objectives and Decision

Criteria

2 3

Page 7: Designing Software Ecosystems - How to Develop Sustainable Collaborations? - Scenarios from Apple iOS and Google Android

7

Proposed Approach – Modeling and Analysis Steps

Elicit and Identify Developers’

Objectives and Decision Criteria

Refine the Objectives and

Decision Criteria into Requirements

Identify the Degree of

Fulfillment of the Requirements

Identify the Importance and Priority of the Requirements

1.1 2.1 2.2 2.3

Elicit the Technical and Non-Technical Requirements of a

Sustainable Collaboration

Derive Alternative Solutions for Designing

a Collaborative Environment

1Categorize Different Types of

Application Developers According to Their Objectives and Decision

Criteria

2 3

Page 8: Designing Software Ecosystems - How to Develop Sustainable Collaborations? - Scenarios from Apple iOS and Google Android

8

Proposed Approach- Modeling Guidelines

Elicit the Requirements of

a Sustainable Collaboration

Derive Alternative Solutions for Designing

a Collaborative Environment

1Identify and

Categorize Different Types of Application

Developers

2 3

Elicit and Model Developers’

Objectives and Decision Criteria

Refine the Objectives and

Decision Criteria into Requirements

Identify the Degree of

Fulfillment of the Requirements

Identify the Importance and Priority of the Requirements

1.1 2.1 2.2 2.3

Model Stakeholders as Actors and

Roles

Model Operations and Activities of stakeholders as Goals and Tasks

Model the objectives and Decision Criteria of Collaborators as

Soft Goals

Model the Reasoning behind the Adoption of

Activities as Contribution Links

Model the Relationships among Stakeholders as Strategic Dependencies

Use Decomposition and Means-Ends Links to

Refine the Objectives and Decision Criteria

1.1.1 1.1.2 1.1.3 1.1.4

1.1.5 2.1.1

Guidelines for modeling the objectives and decision criteria using the i* modeling technique Details in the Paper

Page 9: Designing Software Ecosystems - How to Develop Sustainable Collaborations? - Scenarios from Apple iOS and Google Android

9

Illustrative Study:

Modeling and Analyzing the Smartphone Software Ecosystems

Page 10: Designing Software Ecosystems - How to Develop Sustainable Collaborations? - Scenarios from Apple iOS and Google Android

10

Modeling Collaboration in the Smartphone Software Ecosystem

Soft Goal

Resource

Role

Goal

Mobile Platform

Developer

Software Development

Toolkit

Developer’s Satisfaction

Mobile Apps be

DevelopedApplication Developer

Strategic Dependency

Page 11: Designing Software Ecosystems - How to Develop Sustainable Collaborations? - Scenarios from Apple iOS and Google Android

11

To develop and sustain a software ecosystemDeveloper’s satisfaction is a critical dependency for a mobile platform developer

Page 12: Designing Software Ecosystems - How to Develop Sustainable Collaborations? - Scenarios from Apple iOS and Google Android

12

Mobile Platform

Developer

Application Developer

Mobile Applications be Developed

Obtain Software Development

Toolkit

Software Development

Toolkit

Development Satisfaction

Developer’s Satisfaction

Mobile Apps be

Developed

Mobile platform developer needs to elicit and analyze What factors lead to developers’ satisfaction?

Page 13: Designing Software Ecosystems - How to Develop Sustainable Collaborations? - Scenarios from Apple iOS and Google Android

13

Eliciting Developers’ Objective and Decision CriteriaTo identify developers’ objectives, we use the study of Koch & Kerschbaum (2014)

The study surveys the motivations and decision criteria of the application developers who develop applications for Apple iOS and Google Android

Koch, S., & Kerschbaum, M. (2014). Joining a smartphone ecosystem: Application developers’ motivations and decision criteria. Information and Software Technology, 56(11), 1423-1435.

Page 14: Designing Software Ecosystems - How to Develop Sustainable Collaborations? - Scenarios from Apple iOS and Google Android

14

Walkthrough 1- Apple iOS Software Ecosystem

Modeling and Analyzing Apple iOS Application Developers’ Objectives and Decision Criteria

Page 15: Designing Software Ecosystems - How to Develop Sustainable Collaborations? - Scenarios from Apple iOS and Google Android

15

Apple – iOS Platform

Developer

iOS Application Developer

Mobile Applications be Developed

Obtain Software Development

Toolkit

Software Development

Toolkit

Development Satisfaction

Developer’s Satisfaction

iOS Apps be Developed

Elicit and Identify Developers’

Objectives and Decision Criteria

1.1

What factors lead to iOS developers’ satisfaction?

Page 16: Designing Software Ecosystems - How to Develop Sustainable Collaborations? - Scenarios from Apple iOS and Google Android

16

Apple – iOS Platform

Developer

iOS Application Developer

Mobile Applications be Developed

Obtain Software Development

Toolkit

Software Development

Toolkit

Development Satisfaction

Developer’s Satisfaction

iOS Apps be Developed

Financial Gain from Application Development

Apple third-party developers are mainly driven by financial gain.

- Koch& Kerschbaum (2014)Elicit and Identify

Developers’ Objectives and

Decision Criteria

1.1

Page 17: Designing Software Ecosystems - How to Develop Sustainable Collaborations? - Scenarios from Apple iOS and Google Android

17

Apple – iOS Platform

Developer

iOS Application Developer

Mobile Applications be Developed

Obtain Software Development

Toolkit

Software Development

Toolkit

Development Satisfaction

Developer’s Satisfaction

iOS Apps be Developed

Financial Gain from Application Development

Intellectual stimulation

Intellectual stimulation is also an important factor for the developers who join Apple iOS ecosystem.

- Koch& Kerschbaum (2014)Elicit and Identify

Developers’ Objectives and

Decision Criteria

1.1

Non -Technical Requirements

Page 18: Designing Software Ecosystems - How to Develop Sustainable Collaborations? - Scenarios from Apple iOS and Google Android

18

Apple – iOS Platform

Developer

iOS Application Developer

Mobile Applications be Developed

Obtain Software Development

Toolkit

Software Development

Toolkit

Development Satisfaction

Developer’s Satisfaction

iOS Apps be Developed

Financial Gain from Application Development

Intellectual stimulation

Sell Mobile Applications

These developers often prefer to charge fee for their application being used by Apple iPhone/iPad end users.

- Koch& Kerschbaum (2014)Elicit and Identify

Developers’ Objectives and

Decision Criteria

1.1

Page 19: Designing Software Ecosystems - How to Develop Sustainable Collaborations? - Scenarios from Apple iOS and Google Android

19

Apple – iOS Platform

Developer

iOS Application Developer

Mobile Applications be Developed

Obtain Software Development

Toolkit

Software Development

Toolkit

Development Satisfaction

Developer’s Satisfaction

iOS Apps be Developed

Financial Gain from Application Development

Intellectual stimulation

Sell Mobile Applications

Large Network Size of the Platform

Tight Integration of Platform

The main characteristics of the iOS platform that motivate this group to join Apple iOS ecosystem are as follows: (a) Large network size of the platform (composed of the number of users, the market size, and the number of applications), and (b) the tight integration of the platform. - Koch& Kerschbaum (2014)

Technical Requirement

Elicit and Identify Developers’

Objectives and Decision Criteria

1.1

Page 20: Designing Software Ecosystems - How to Develop Sustainable Collaborations? - Scenarios from Apple iOS and Google Android

20

A tightly integrated platform makes the complementary application development process easier for developers with strong motivations in financial gains by optimizing development efforts and facilitating the targeting of the applications.

- Koch& Kerschbaum (2014)

Elicit and Identify Developers’

Objectives and Decision Criteria

1.1

Apple – iOS Platform

Developer

iOS Application Developer

Mobile Applications be Developed

Obtain Software Development

Toolkit

Software Development

Toolkit

Development Satisfaction

Developer’s Satisfaction

iOS Apps be Developed

Financial Gain from Application Development

Intellectual stimulation

Sell Mobile Applications

Large Network Size of the Platform

Optimized Development

Efforts

Easy to Target Application

Tight Integration of Platform

Page 21: Designing Software Ecosystems - How to Develop Sustainable Collaborations? - Scenarios from Apple iOS and Google Android

21

Apple – iOS Platform

Developer

iOS Application Developer

Mobile Applications be Developed

Obtain Software Development

Toolkit

Software Development

Toolkit

Development Satisfaction

Developer’s Satisfaction

iOS Apps be Developed

Financial Gain from Application Development

Intellectual stimulation

Sell Mobile Applications

Large Network Size of the Platform

Optimized Development

Efforts

Easy to Target Application

Tight Integration of Platform

What factors and features influence or increase intellectual stimulation in application developers?

To what factors and features tight integration of software platform refer to?

Refine the Objectives and

Decision Criteria

2.1

Page 22: Designing Software Ecosystems - How to Develop Sustainable Collaborations? - Scenarios from Apple iOS and Google Android

22

Refining the requirements (the application developers’ decision criteria) requires further data gathering and refinement of the available information

To develop models, we remain faithful to the available information provided in Koch& Kerschbaum (2014) We do not add additional information

Refine the Objectives and

Decision Criteria

2.1

Page 23: Designing Software Ecosystems - How to Develop Sustainable Collaborations? - Scenarios from Apple iOS and Google Android

23

Apple – iOS Platform

Developer

iOS Application Developer

Mobile Applications be Developed

Obtain Software Development

Toolkit

Software Development

Toolkit

Development Satisfaction

Developer’s Satisfaction

iOS Apps be Developed

Financial Gain from Application Development

Intellectual stimulation

Sell Mobile Applications

Large Network Size of the Platform

Optimized Development

Efforts

Easy to Target Application

Tight Integration of Platform

1

2

3

Hypothetical PrioritizationReal-world data is required to prioritize the requirements

Identify the Importance and Priority of the

Decision Criteria

2.2

Page 24: Designing Software Ecosystems - How to Develop Sustainable Collaborations? - Scenarios from Apple iOS and Google Android

24

Apple – iOS Platform

Developer

iOS Application Developer

Mobile Applications be Developed

Obtain Software Development

Toolkit

Software Development

Toolkit

Development Satisfaction

Developer’s Satisfaction

iOS Apps be Developed

Financial Gain from Application Development

Intellectual stimulation

Sell Mobile Applications

Large Network Size of the Platform

Optimized Development

Efforts

Easy to Target Application

Tight Integration of Platform

Hypothetical EvaluationReal-world data is required to evaluate the fulfillment of the requirementsIdentify the Degree

of Fulfillment of the decision Criteria

2.3

Fully-Satisficed

Partially- Denied

Page 25: Designing Software Ecosystems - How to Develop Sustainable Collaborations? - Scenarios from Apple iOS and Google Android

25

Apple – iOS Platform

Developer

iOS Application Developer

Mobile Applications be Developed

Obtain Software Development

Toolkit

Software Development

Toolkit

Development Satisfaction

Developer’s Satisfaction

iOS Apps be Developed

Financial Gain from Application Development

Intellectual stimulation

Sell Mobile Applications

Large Network Size of the Platform

Optimized Development

Efforts

Easy to Target Application

Tight Integration of Platform

How to improve the fulfillment of the financial gain motivation of application developers?

Hypothetical Conclusion Financial gain is the first priority requirement of iOS application developersConclude the

Requirements

3

Page 26: Designing Software Ecosystems - How to Develop Sustainable Collaborations? - Scenarios from Apple iOS and Google Android

26

Mobile Software be developed

Open Innovation

iOS Platform be Developed

iOS Applications be Developed

Delegate Development of iOS Applications to External Developers

External Developers Attracted

Apple – iOS Platform

Developer

iOS Application Developer

Mobile Applications be Developed

Obtain Software Development

Toolkit

Software Development

Toolkit

Development Satisfaction

Developer’s Satisfaction

Provide Software Development Toolkit

iOS Apps be Developed

Financial Gain from Application Development

Intellectual stimulation

Increased attractiveness of [Mobile] platform

Increased Number of Supporting Applications

Tight Integration of Platform

Sell Mobile Applications

Large Network Size of the Platform

Optimized Development

EffortsEasy to Target

Application

The same modeling steps can be followed to explicate the objectives and decision criteria of the platform developer Details in the Paper

Derive Alternative Design Solutions

4

Page 27: Designing Software Ecosystems - How to Develop Sustainable Collaborations? - Scenarios from Apple iOS and Google Android

27

Mobile Software be developed

Open Innovation

iOS Platform be Developed

iOS Applications be Developed

Delegate Development of iOS Applications to External Developers

External Developers Attracted

Apple – iOS Platform

Developer

iOS Application Developer

Mobile Applications be Developed

Obtain Software Development

Toolkit

Software Development

Toolkit

Development Satisfaction

Developer’s Satisfaction

Provide Software Development Toolkit

iOS Apps be Developed

Financial Gain from Application Development

Support Application Developers

Intellectual stimulation

Increased attractiveness of [Mobile] platform

Increased Number of Supporting Applications

Tight Integration of Platform

Sell Mobile Applications

Large Network Size of the Platform

Optimized Development

EffortsEasy to Target

Application

Derive Alternative Design Solutions

4

Page 28: Designing Software Ecosystems - How to Develop Sustainable Collaborations? - Scenarios from Apple iOS and Google Android

28

Mobile Software be developed

Open Innovation

iOS Platform be Developed

iOS Applications be Developed

Delegate Development of iOS Applications to External Developers

External Developers Attracted

Apple – iOS Platform

Developer

iOS Application Developer

Mobile Applications be Developed

Obtain Software Development

Toolkit

Software Development

Toolkit

Development Satisfaction

Developer’s Satisfaction

Provide Software Development Toolkit

iOS Apps be Developed

Financial Gain from Application Development

Support Application Developers

Intellectual stimulation

Build Market Channel for Applications

Increased attractiveness of [Mobile] platform

Increased Number of Supporting Applications

Become Visible to the Market

Tight Integration of Platform

Sell Mobile Applications

Large Network Size of the Platform

Optimized Development

EffortsEasy to Target

Application

For selling the mobile applications, developers become dependent on iOS platform developer, for the goal of “Applications become visible to the market place”Derive Alternative

Design Solutions

4

Page 29: Designing Software Ecosystems - How to Develop Sustainable Collaborations? - Scenarios from Apple iOS and Google Android

29

Solution for supporting iOS external developersTo “Build market channels for applications”, and to “Build app store”Derive Alternative

Design Solutions

4

Mobile Software be developed

Open Innovation

iOS Platform be Developed

iOS Applications be Developed

Delegate Development of iOS Applications to External Developers

External Developers Attracted

Apple – iOS Platform

Developer

iOS Application Developer

Mobile Applications be Developed

Obtain Software Development

Toolkit

Software Development

Toolkit

Development Satisfaction

Developer’s Satisfaction

Provide Software Development Toolkit

iOS Apps be Developed

Financial Gain from Application Development

Support Application Developers

Intellectual stimulation

Build Market Channel for Applications

Increased attractiveness of [Mobile] platform

Increased Number of Supporting Applications

Become Visible to the Market

Registration Fees

Tight Integration of Platform

Sell Mobile Applications

Large Network Size of the Platform

30% Revenue Share

Optimized Development

Efforts

Build App Store Easy to Target

Application

Page 30: Designing Software Ecosystems - How to Develop Sustainable Collaborations? - Scenarios from Apple iOS and Google Android

30

Summary of Walkthrough 1

We illustratedAppropriate design solution can be concluded by elaborate analysis and investigation of the objectives and decision criteria of third-party developers who collaborate with iOS

DiscussionDepending on the objectives and decision criteria of application developers, solutions for supporting external developers differ.

Page 31: Designing Software Ecosystems - How to Develop Sustainable Collaborations? - Scenarios from Apple iOS and Google Android

31

Walkthrough 2- Google Android Software Ecosystem

Identifying and Analyzing Google Android Application Developers’ Objectives and Decision Criteria

Page 32: Designing Software Ecosystems - How to Develop Sustainable Collaborations? - Scenarios from Apple iOS and Google Android

32

Elicit and Identify Developers’

Objectives and Decision Criteria

1.1

Google – Android Platform

Developer

Android Application Developer

Mobile Applications be Developed

Obtain Software Development Toolkit

Software Development Toolkit

Development Satisfaction

Developer’s Satisfaction

Android Apps be Developed

What factors cause Android developers’ satisfaction?

Page 33: Designing Software Ecosystems - How to Develop Sustainable Collaborations? - Scenarios from Apple iOS and Google Android

33

Google – Android Platform

Developer

Android Application Developer

Mobile Applications be Developed

Obtain Software Development Toolkit

Software Development Toolkit

Development Satisfaction

Developer’s Satisfaction

Android Apps be Developed

Low Entry Barriers

Low Technical barriers

Low Monetary Barriers

Platform Openness

Reputation

Experiencing Fun During Software

Development

Refine the Objectives and

Decision Criteria

2.1The same modeling steps has been followed to explicate the objectives and decision criteria of Android Application Developers Details in the Paper

Page 34: Designing Software Ecosystems - How to Develop Sustainable Collaborations? - Scenarios from Apple iOS and Google Android

34

Mobile Software be developed

Open Innovation

Android Platform be Developed

Android Applications be Developed

Delegate Development of Applications to External Developers

External Developers Attracted

Google – Andorid Platform

Developer

Android Application Developer

Mobile Applications be Developed

Obtain Software Development Toolkit

Software Development

Toolkit

Development Satisfaction

Developer’s Satisfaction

Provide Software Development Toolkit

Android Apps be Developed

Support Application Developers

Increased attractiveness of the mobile platform

Increased number of applications supporting the

Mobile platform

Low Entry Barriers

Low Technical barriers

Low Monetary Barriers

Platform Openness

Reputation

Experiencing Fun During Software

Development

How to improve the fulfillment of the feeling of being recognized in the Android application developers?

The same hypothetical analysis steps have been followed to conclude the requirements.

Conclude the Requirements

3

Page 35: Designing Software Ecosystems - How to Develop Sustainable Collaborations? - Scenarios from Apple iOS and Google Android

35

Solution for supporting Google external developersTo “Develop Community Websites” in order to publicize the information about the innovations to the end users and the developers’ community

Derive Alternative Design Solutions

4

Mobile Software be developed

Open Innovation

Platform be Developed

Applications be Developed

Delegate Development of Applications to External Developers

External Developers Attracted

Google – Andorid Platform

Developer

Android Application Developer

Mobile Applications be Developed

Obtain Software Development Toolkit

Software Development

Toolkit

Development Satisfaction

Developer’s Satisfaction

Provide Software Development Toolkit

Android Apps be Developed

Support Application Developers

Increased attractiveness of the mobile platform

Increased number of applications supporting the

Mobile platform

Low Entry Barriers

Low Technical barriers

Low Monetary Barriers

Platform Openness

Reputation

Experiencing Fun During Software

Development

Innovations Become Visible to the Community

Develop Community Websites

Page 36: Designing Software Ecosystems - How to Develop Sustainable Collaborations? - Scenarios from Apple iOS and Google Android

36

Summary of Walkthrough 2

We illustratedDepending on the objectives and decision criteria of application developers, solutions for supporting external developers differ

ConclusionIt is required to elicit and analyze developers’ objectives and decision criteria as source for identifying the appropriate requirements for growing and sustaining a software ecosystem

Page 37: Designing Software Ecosystems - How to Develop Sustainable Collaborations? - Scenarios from Apple iOS and Google Android

37

Summary

One crucial activity in developing a software ecosystem is to attract external software developers to contribute to a software platform

We proposed a model-based approach to systematically develop and extend sustainable collaborative relationships with external software developers

The main idea behind our solution is to model and analyze collaborators’ objectives and decisions

Using scenarios from Google Android and Apple iOS software ecosystems, we illustrated the viability of the proposed approach

Page 38: Designing Software Ecosystems - How to Develop Sustainable Collaborations? - Scenarios from Apple iOS and Google Android

38

Limitations of the Study

Evaluating the proposed approach Via experimentation in case studies of software ecosystems

Elaborating the proposed approach With techniques for eliciting, evaluating, and prioritizing collaborators’ objectives and decision criteria

Page 39: Designing Software Ecosystems - How to Develop Sustainable Collaborations? - Scenarios from Apple iOS and Google Android

39

ReferencesKoch, S., & Kerschbaum, M. (2014)“Joining a smartphone ecosystem: Application developers’ motivations and decision criteria” Information and Software Technology, 56(11), 1423-1435.

Sadi, M. H., & Yu, E. (2015)“Designing Software Ecosystems: How Can Modeling Techniques Help?” In Enterprise, Business-Process and Information Systems Modeling (pp. 360-375). Springer International Publishing.

Sadi, M. H., & Yu, E. (2014)“Analyzing the evolution of software development: From creative chaos to software ecosystems” In IEEE 8th International Conference on Research Challenges in Information Science (RCIS), (pp. 1-11). IEEE.