Software Ecosystems Overview and Implications

3 downloads 160 Views 1MB Size Report
Overview – The Power of Three define the notion of software ecosystems external software ecosystem study – learnings implications for HOW we develop  ...
Software Ecosystems Overview and Implications

Jan Bosch Ja osc

Intuit Confidential

Overview – The Power of Three 

define the notion of software ecosystems

external software ecosystem study – learnings

implications for HOW we develop software

Intuit Confidential

paradigm shift – an analogy

Anaximander ca. 610 – 545 BC

Galileo Galilei Nicolaus Copernicus 1564-1642 1473-1543

Isaac Newton 1643-1727

Albert Einstein Intuit Confidential 1879-1955

Cicero 106 BC – 43 BC

Charles Darwin 1809-1882

Thomas S. Kuhn 1922-1996

defining software ecosystems A human ecosystem consists of actors, the connections between the actors, the activities by these actors and the transactions along the connections. For this discussion, we recognize commercial and social ecosystems

A commercial ecosystem consists of actors, i.e. businesses, suppliers and customers, activities by these actors, goods and services and the transactions that take place over those connections. Transactions include financial transactions, but also information and knowledge sharing, inquiries, pre- and post-sales contacts, etc. A software ecosystem provides the set of solutions that enable, support and automate the activities and transactions by the actors in the associated social or business ecosystem and the organizations that provide these solutions

A software ecosystem consists of a software platform, a set of internal and external developers, a community of domain experts and a community of users that compose relevant solution elements to satisfy their needs Intuit Confidential

defining software ecosystems A human ecosystem consists of actors, the connections between the actors, the activities by these actors and the transactions along the connections. For this discussion, we recognize commercial and social ecosystems

A commercial ecosystem consists of actors, i.e. businesses, suppliers and customers, activities by these actors, goods and services and the transactions that take place over those connections. Transactions include financial transactions, but also information and knowledge sharing, inquiries, pre- and post-sales contacts, etc. A software ecosystem provides the set of solutions that enable, support and automate the activities and transactions by the actors in the associated social or business ecosystem and the organizations that provide these solutions

A software ecosystem consists of a software platform, a set of internal and external developers, a community of domain experts and a community of users that compose relevant solution elements to satisfy their needs Intuit Confidential

software ecosystems taxonomy Focus for Intuit none so far

VHDL

Yahoo! Pipes, Microsoft PopFly, Google’s mashup editor

MS Office Office, SAP*

SalesForce, eBay, y Amazon, Ning

none o e so far a

MS Wi Windows, d Linux

Google AppEngine, Yahoo developer, Coghead, Bungee Labs

Nokia N ki S60 S60, P Palm, l Android, iPhone

web

mobile

MS Excel, end-user Mathematica, programming

application

operating system

desktop

Intuit Confidential

one view of the Intuit ecosystem

value tto individual user

minimize TCO through putting in OSS or replace with COTS

app app

app

app

app

app app

app app

app app

app app

ecos system platform

compositional applications, e.g. accounting, customer, employee, payments, etc.

breadth of ap pplicability

commo oditize

maintain sustainable competitive advantage

World of opportunities: jobs to be supported and automated

domain functionality, e.g. accounting, customer, employee, payments, etc.

non-differentiating, generic functionality, e.g. subscription, billing, entitlement, etc.

Intuit Confidential

app

UX, workfllow & data composition

pla atformize

experiment & innovate

why software ecosystems

Increases value of the core offering to existing users Increase attractiveness for new users Increase stickiness of the application platform Accelerate innovation through open innovation in the ecosystem Collaborate with partners in the ecosystems to share cost of innovation Platformize functionality y developed p by y partners p in the ecosystem y (once success has been proven) Decrease TCO for commoditizing functionality by sharing the maintenance with ecosystem partners Intuit Confidential

study of external software ecosystems How do we manage variability & configurability for customers?

How do we maintain consistent user experience between Intuit and ecosystem joblets?

other portals eco dev. dev joblet

Do we charge developers for developing and hosting in our ev. joblet eco dev. joblet ecosystem (beyond revenue share)?

eco dev. jjoblet

eco dev. domain service

Do ecosystem joblets have the same access to domain services and data as Intuit joblets?

Intuit ecosystem portal

eco dev. dev joblet

let

How do we manage dynamic composition of joblets by customers?

eco dev. dev joblet eco dev. joblet

other platforms Are other platforms allowed in the ecosystem and, if so, are these th integrated? i t t d?

Does Intuit provide access to data defined by ecosystem y developers p to other ecosystem developers

ecosystem y developer data

Can ecosystem developers store data outside Intuit’s repository?

Intuit joblet

Intuit joblet

What mechanisms exist to insert ecosystem domain services into other eco domain dev. jjoblet Intuit jjoblet service workflows?

eco Does Intuiteco provide a Intuit dev. dev. development p environment domain domain domain for ecosystem developers? service service service

Can ecosystem developers host their solutions outside Intuit’s hosting infrastructure?

Intuit joblet

Intuit joblet Intuit jjoblet

Intuit Intuit Intuit Intuit Intuit domain domain domain domain domain service service service service service How rich is the set of basic services provided by the platform, e.g. authentication, authorization, monitoring, billing, search, marketing, etc.

Intuit ecosystem platform

customer data

Intuit Confidential

Do we sync desktop and cloud data real-time or batch-wise?

DAAA Data Can ecosystem developers access aggregated customer (DAAA) data?

desktop p apps

learnings from external software ecosystems study

Facebook Ning LongJump Customers SalesForce first; developers second

eBay Amazon PopFly Android AppEngine Customer Our Q QuickBooks,, Quicken, Q , TurboTax and ProTax franchises are our Configurability tickets Consistent UXto entry Dynamic composition A seamless desktop / web / mobile integration will be crucial for at least Ecosystem developer a decade Equal access Customers adoption p of our core web services ((offerings) g ) is critical for Behavioral integration developer involvement Hosting alternatives rd 3 party data access Developer environment External data storage access Pl DAAA Platform tf Charges should h ld b be iin th the middle iddl off every transaction t ti Minimize interaction outside (bypassing) Intuit platform Platform architecture Allow for storing application specific data inside Intuit hosting platform Platform services Desktop application Hostsync solutions inside Intuit’s hosting platform External ecosystems

Offer a set of “connecting services” that take the burden from developers No/limited support Some support Supported N/A Facilitate inclusion into the workflow to minimize the need to replicate the workflow outside the Intuit platform

Intuit Confidential

learnings from external software ecosystems study Proactively incorporate “horizontalizing” horizontalizing / commoditizing functionality and data models into the platform

The platform needs to consist of LongJump small business domain data models, SalesForce Facebook Ning eBay Amazon PopFly Android AppEngine functionality and user interface solutions Customer Configurability At first signs of consolidation appear, appear incorporate 3rd party functionality Consistent UX (and possibly one of the companies) into the platform Dynamic composition Drive commoditized components into open-source or replace with COTS Ecosystem developer Equal access Behavioral integration Communicate clear multi-year roadmaps to avoid unintentional clear, Hosting alternatives heads-on composition between platform and external developers rd 3 party data access Publish an updated roadmap concerning data models, domain services, Developer environment user experience solutions and compositionality with each release of the External data storage DAAA access platform; guarantee that external communication is aligned with internal Charges knowledge Platform architecture Platform services Desktop application sync External ecosystems Model platform as the next computing platform abstraction layer

Use our leading position on the desktop to claim Supported similar leadership onN/A Some support the web – we are providing the platform for small businesses (not a platform) We need to move fast, fast partner where appropriate and establish our “shaping view” for our ecosystem

No/limited support

Intuit Confidential

from integration‐centric software engineering …

pre-integrated products

14

Intuit Confidential

from integration‐centric software engineering …

software product lines global software development software ecosystems causing unacceptable complexity and coordination cost pre-integrated products 15

Intuit Confidential

… towards composition one view of the Intuit ecosystem

16

Intuit Confidential

implications for how we build software

process to Architecture • From centralized to decentralized • From planning to experimentation • From long cycles to short cycles • From large g teams to small teams • From internal to ecosystem • From CMM(I) ( ) to Agile • From cathedral to bazaar • From

Intuit Confidential

Not your job?

Intuit Confidential

Intuit Confidential