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