When I grow up, I want to be a platform DIOGO LUCAS SIDNEY SHEK
Common user experiences Ecosystem & Enterprise & Product Platform Identity Marketplace Admin Front-end Mobile Core Platform Services API gateway Event bus Task scheduler Webhooks Foundations Network AWS DNS Mail PaaS
Atlassian Cloud v1 Stride, Statuspage, (Jira Studio) Trello, Opsgenie Bitbucket, Atlassian started HipChat Today 2002 2008 2010-12 2017-18 Present # cloud platform services
Agenda Why When How
WHY
It will be better for everyone You get to focus on your business logic! Take one for the team! You will get efficiency gains s i h t n w o l l i w s t s i l a i c e p s f o m a e t A You will unlock these business cases This will allow for seamless UX t i e s u y l l a t o t d l u o h s u o y o s , s i h t t l i u b e W
It will be better for everyone Take one for the team! We built this, so you should totally use it You get to focus on your business logic! You will get efficiency gains A team of specialists will own this You will unlock these business cases This will allow for seamless UX Users will get more consistent behavior
It will be better for everyone Better for Take one for the team! others We built this, so you should totally use it You get to focus on your business logic! Efficiency You will get efficiency gains gains A team of specialists will own this Biz value You will unlock these business cases This will allow for seamless UX Consistency Users will get more consistent behavior
1st Product Platform Biz value 2nd Platform Services Consistency 3rd Efficiency Foundations gains DFL Better for others
“RIGHT” ISN’T ENOUGH. WHEN BUILDING A PLATFORM, YOU NEED RIGHT + FEASIBLE + DESIRABLE.
WHEN
IT’S ALL ABOUT YOUR CUSTOMERS Early adopter Shelving Deferred Platform 0 2+ 1
DEFERRED PLATFORM ❌ catchup game ✅ clear platform signal ❌ no value for legacy consumers
EARLY ADOPTER ⚠ overfitting ✅ clear requirements ⚠ consumer wait time ✅ low producer waste ⚠ little usage
SHELVING ⚠ requirement mismatch ✅ no waste/wait for adopters ⚠ little/no usage ✅ blank slate
BACK TO THE TIMELINE… proactive reactive Early adopter Deferred Platform Shelving 0 2+ 1 sweet spot!
HOW
How: breakdown Plan Build Drive adoption
Telltale signs Signals to be aware of and how to get them ASAP Engagement patterns & anti- patterns Over-the-wall, inner sourcing and others Plan
Telltale signs Signals to be aware of and how to get them ASAP Engagement patterns & anti- patterns Over-the-wall, inner sourcing and others Plan
EARLY SIGNS BAD SMELLS Business strategy alignment 5 stages of grief in platform adoption Capability mapping Don’t want to build it, so it’s a Architecture forums FTW platform thingie Innovation projects
Telltale signs Signals to be aware of and how to get them ASAP Engagement patterns & anti- patterns Over-the-wall, inner sourcing and others Plan
Engagement anti-patterns Product turned Over-the-wall platform I build it, you run it. Priority clashes ruining best intentions
Engagement patterns Catchup Innersourcing Venture bet Addressing a tough Planned, transitional Address the unknown platform sell. ownership. without any BS. reactive proactive
CATCH UP CASE STUDY: RATE LIMITING SERVICE Legacy: local rate limiting API Rate limiting client API gateway API Rate limiting API Rate limiting
CATCH UP CASE STUDY: RATE LIMITING SERVICE Modern: centralized rate limiting API client API gateway API RL sidecar API RL service
INNER SOURCING CASE STUDY: PERMISSIONS SERVICE Phase 1: Build in product Consumer + Platform Partnership to define APIs and data model Product services Product services Product services Permissions
INNER SOURCING CASE STUDY: PERMISSIONS SERVICE Phase 2: Extract into platform Product X Product services Product services Product services Permissions Overfitted data model caused problems Product Y
INNER SOURCING CASE STUDY: PERMISSIONS SERVICE Phase 3: Re-write Product X Product services Product services Product services Permissions Product Y
Element or shared service Immediate benefit vs longer term tight integration Tailoring for better fit Keeping platform reusable and extensible Build
Element or shared service Immediate benefit vs longer term tight integration Tailoring for better fit Keeping platform reusable and extensible Build
ELEMENT SHARED SERVICE e.g. UI libraries, mail service e.g. Login, Marketplace Drop-in and go More extensive integration Consistency & Focus on biz value Engineering efficiency No cross-consumer integration More consumers, more benefits
CASE STUDY: CROSS-PRODUCT EDITOR
CASE STUDY: CROSS-PRODUCT EDITOR Phase 1: Element Phase 2: Shared service Product UI Product 2 Product UI Editor UI Editor UI Editor UI Migrate? Content Product storage storage Cross- Notifications product links
Element or shared service Immediate benefit vs longer term tight integration Tailoring for better fit Keeping platform reusable and extensible Build
Tailoring for better consumer fit No tailoring Fully customizable Just one way means probably Maintenance and extension no one can use it. nightmare with per- consumer edge cases
Tailoring for better consumer fit No tailoring Extensibility Fully customizable Just one way means probably Envision future consumers Maintenance and extension no one can use it. nightmare with per- Start simple with configuration consumer edge cases Design for pluggability (callbacks, events)
CASE STUDY: ECOSYSTEM PLATFORM CORE CONCEPTS App Host defines is installed at Installation Extension Context Point using
CASE STUDY: ECOSYSTEM PLATFORM EVOLUTION Extension points Lifecycle mgmt Installation contexts Admin APIs Libraries in Serverless in Services in Time serverland cloud cloud High coupling Low coupling Medium coupling Low latency High latency Low latency
Carrots and sticks Uniform adoption and team autonomy can work Platform Essentials Avoiding the “too much platform” problem Scaling Drive adoption Handling the stampede of consumers
Carrots and sticks Uniform adoption and team autonomy can work Platform Essentials Avoiding the “too much platform” problem Scaling Drive adoption Handling the stampede of consumers
Carrots and sticks Uniform adoption and team autonomy can work Platform Essentials Avoiding the “too much platform” problem Scaling Drive adoption Handling the stampede of consumers
CARROT STICK Obvious big value for consumers Top-down mandate Fragmented adoption Goes against team autonomy Adoption changes with Mandate principles, not priorities implementations e.g. GDPR, compliance e.g. new “startup” features
Carrot stick Shared goals Play as a Team Build for future Rinse & repeat Joint commitment to Good for consumers, Platform commits to Repeat for all measurable outcome great for the enhancements that consumers for company and users benefit everyone uniform adoption New product X users Users have a Internationalisation All products start login with platform single credential for all! migrating to platform Identity in FY20 across Atlassian Identity in FY20
Carrots and sticks Uniform adoption and team autonomy can work Platform Essentials Avoiding the “too much platform” problem Scaling Drive adoption Handling the stampede of consumers
TOO MUCH PLATFORM?
TOO MUCH PLATFORM?
Platform Essentials Path through platform Single entry point Platform-wide view Simple paths delivering Consumers have one place to Continually simplify incremental value, setting up start, one group to negotiate dependencies and adoption dependencies for later shared goals. across all platform components
STEP 1: DEFINING VALUE-BASED ESSENTIALS Move between Consistent Signup & Login products collaboration Editor Single sign-on Unified account Content services Sessions Permissions
STEP 2: MAP OUT INCREMENTAL DELIVERY Move between Consistent Signup & Login products collaboration Editor Single sign-on Unified account Content services Sessions Permissions
STEP 3: SIMPLIFY DEPENDENCIES Move between Consistent Signup & Login products collaboration Editor Single sign-on Unified account Content services Sessions Permissions
STEP 3: SIMPLIFY DEPENDENCIES Move between Consistent Signup & Login products collaboration Editor Single sign-on Unified account Content services Sessions Permissions
Carrots and sticks Uniform adoption and team autonomy can work Platform Essentials Avoiding the “too much platform” problem Scaling Drive adoption Handling the stampede of consumers
Recommend
More recommend