The Art of Platform Development Brian O’Neill Lead Architect, Health Market Science @boneill42, email@example.com
What’s the goal?Make our products look like theywere built by one team.Change “product development” intoan exercise of capabilitiescomposition.
Platform Development• Requires a composition of perspectives: • Business Perspective • Capabilities Perspective • People Perspective
The Business PerspectiveID Desire Opport Cost unity1 Make a google-like service to search all tweets ever $3M $500K for specific words.2 Make it possible to search for tweeters geospatially. $1.5 $250K3 Enable tweeting via voice recognition. $2M $750K4 Enable voice navigation of tweets. $1M $800K5 Make it possible for to perform faceted search on $5M $500K tweets (by age, gender, etc.)
Why do we need more? This perspective estimates costs in isolation. BUT! Items may overlap functionally, making subsequent epics cheaper. • If you truly plan to do all, reality might be…ID Desire Opportunity Cost1 Make a google-like service to search all $3M $500K tweets ever for specific words.2 Make it possible to search for tweeters $1.5 $50K (-$200K) geospatially.5 Make it possible for to perform faceted $5M $50K (-$450K) search on tweets (by age, gender, etc.)
The Capabilities PerspectiveDesire Supports Cost (points) Business ObjectiveCreate real-time index of all tweets. (1), (2), (5) 13Add geospatial information to the index. (2) 5Add gender and age to the index. (5) 5Enable voice recognition interface. (3), (4) 20Capture tweets via voice recognition. (3) 13Capture voice commands to navigate tweets. (4) 5
PlanningThe capabilities perspective allows usto recognize synergies.It also decouples the developmentfrom the specific use.(which encourages a platform perspective)
Initial state Independent product backlogs with an 1:1 between backlog and teamProduct 1Product 1 Product 2 Product 2 Product 3 Product 3 Product 4 Product 4Team 1Team 1 Team 2 Team 2 Team 3 Team 3 Team 4 Team 4
The ChallengesPlatform perspective must be imposedupon the teams since it is absent fromthe artifacts.We locally optimize within each silo,instead of optimizing effort based ondemand for capabilities.To deliver a platform, we need to swimupstream against Conway’s Law.
A potential change…Consolidated into a capabilitiesbacklog, 1:n between backlog andteam. Business Demand Business Demand Red Red Blue Blue Green Green Yellow Yellow Team Team Team Team Team Team Team Team
Team DynamicsLeverage an “open-source” approach to platformdevelopment.Any team can work on anything.Any team can contribute to any platform component. Github helps here: “gating” commits via pull requests Red Red Blue Blue Green Green Yellow Yellow Team Team Team Team Team Team Team Team Pull Requests! The “Platform The “Platform
The People PerspectiveIdeally, any team would be able totackle any story and implementfront-to-back, but…All teams are not created equal,expertise differs based on teamcomposition.
e.g. Business Demand Business Demand Red Red Blue Blue Green Green Yellow Yellow Team Team Team Team Team Team Team Team html5 1 html5 10 html5 5 html5 3 C* 5 C* 1 C* 10 C* 2 SOLR 9 SOLR 1 SOLR 3 SOLR 3Consolidating demand allows us to give the rightwork to the right team based on expertise, not productline.
The People Perspective We can quantify demand for expertise in the backlog.Desire Supports Cost Skill Set Business (points) Required ObjectiveCreate real-time index of all tweets. (1), (2), (5) 13 SOLRAdd geospatial information to the index. (2) 5 SOLRAdd gender and age to the index. (5) 5 SOLREnable voice recognition interface. (3), (4) 20 HTML5Capture tweets via voice recognition. (3) 13 HTML5Capture voice commands to navigate (4) 5 HTML5tweets.
Enables better planning…Business demand for expertise willchange over time.
Enables conversations like…• “Maybe we should give story X to the team M to ramp them on technology P, because we have a lot of the work coming.” Or…• “Since we don’t have much need for technology Z, let’s just re-sequence the work as not to hit the learning curve on more than one team.”
Controlling the Chaos: Accountability Business Demand Business Demand Red Red Blue Blue Green Green Yellow Yellow Team Team Team Team Team Team Team Team html5 1 html5 10 html5 5 html5 3 C* 5 C* 1 C* 10 C* 2 SOLR 9 SOLR 1 SOLR 3 SOLR 3 Product Product Product Product Product Product Product ProductAccountabilityAccountability 1 1 2 2 3 3 4 4 Like expertise, accountability differentiates the teams. But it does NOT define them. (or what they work on)
The Product Definition Forumhttp://www.slideshare.net/dhaval.r.panchal/keeping-product-backlog-healthy
The Agile Platform RecipeTake your business demand.Pivot the demand to focus oncapabilities.Add in the requisite expertise.Sequence the work to optimize forproductivity and value.Sit back and watch the platform emerge.