Upgrade to Pro — share decks privately, control downloads, hide ads and more …

The Art of Platform Development: Scaling Agile ...

The Art of Platform Development: Scaling Agile w/ Open Source Dynamics

Perhaps we can tweak traditional agile by leveraging open source dynamics, which allow agile to scale and accomodate a platform approach to development.

Avatar for Brian O'Neill

Brian O'Neill

April 01, 2013

More Decks by Brian O'Neill

Other Decks in Technology

Transcript

  1. What’s the goal? !  Make our products look like they

    were built by one team. !  Change “product development” into an exercise of capabilities composition.
  2. Platform Development •  Requires a composition of perspectives: •  Business

    Perspective •  Capabilities Perspective •  People Perspective
  3. The Business Perspective ID Desire Opport unity Cost 1 Make

    a google-like service to search all tweets ever for specific words. $3M $500K 2 Make it possible to search for tweeters geospatially. $1.5 $250K 3 Enable tweeting via voice recognition. $2M $750K 4 Enable voice navigation of tweets. $1M $800K 5 Make it possible for to perform faceted search on tweets (by age, gender, etc.) $5M $500K
  4. 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 Cost 1 Make a google-like service to search all tweets ever for specific words. $3M $500K 2 Make it possible to search for tweeters geospatially. $1.5 $50K (-$200K) 5 Make it possible for to perform faceted search on tweets (by age, gender, etc.) $5M $50K (-$450K)
  5. The Capabilities Perspective Desire Supports Business Objective Cost (points) Create

    real-time index of all tweets. (1), (2), (5) 13 Add geospatial information to the index. (2) 5 Add gender and age to the index. (5) 5 Enable voice recognition interface. (3), (4) 20 Capture tweets via voice recognition. (3) 13 Capture voice commands to navigate tweets. (4) 5
  6. Planning !  The capabilities perspective allows us to recognize synergies.

    !  It also decouples the development from the specific use. (which encourages a platform perspective)
  7. Initial state !  Independent product backlogs with an 1:1 between

    backlog and team Team 1 Team 2 Product 1 Product 2 Team 3 Team 4 Product 3 Product 4
  8. The Challenges !  Platform perspective must be imposed upon the

    teams since it is absent from the artifacts. !  We locally optimize within each silo, instead of optimizing effort based on demand for capabilities. !  To deliver a platform, we need to swim upstream against Conway’s Law.
  9. A potential change… !  Consolidated into a capabilities backlog, 1:n

    between backlog and team. Red Team Business Demand Blue Team Green Team Yellow Team
  10. Team Dynamics !   Leverage an “open-source” approach to platform

    development. !   Any team can work on anything. !   Any team can contribute to any platform component. !   Github helps here: “gating” commits via pull requests Red Team The “Platform Blue Team Green Team Yellow Team Pull Requests!
  11. The People Perspective !  Ideally, any team would be able

    to tackle any story and implement front-to-back, but… !  All teams are not created equal, expertise differs based on team composition.
  12. e.g. Red Team Business Demand Blue Team Green Team Yellow

    Team html5 1 C* 5 SOLR 9 html5 10 C* 1 SOLR 1 html5 5 C* 10 SOLR 3 html5 3 C* 2 SOLR 3 Consolidating demand allows us to give the right work to the right team based on expertise, not product line.
  13. The People Perspective We can quantify demand for expertise in

    the backlog. Desire Supports Business Objective Cost (points) Skill Set Required Create real-time index of all tweets. (1), (2), (5) 13 SOLR Add geospatial information to the index. (2) 5 SOLR Add gender and age to the index. (5) 5 SOLR Enable voice recognition interface. (3), (4) 20 HTML5 Capture tweets via voice recognition. (3) 13 HTML5 Capture voice commands to navigate tweets. (4) 5 HTML5
  14. Enables better planning… !  Business demand for expertise will change

    over time. 0 5 10 15 20 25 30 35 40 45 Sprint 1 Sprint 2 Sprint 3 Sprint 4 Storm ExtJS C*
  15. 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.”
  16. Controlling the Chaos: Accountability Product 1 Red Team Business Demand

    Blue Team Green Team Yellow Team Accountability Product 2 Product 3 Product 4 Like expertise, accountability differentiates the teams. But it does NOT define them. (or what they work on) html5 1 C* 5 SOLR 9 html5 10 C* 1 SOLR 1 html5 5 C* 10 SOLR 3 html5 3 C* 2 SOLR 3
  17. The Agile Platform Recipe !  Take your business demand. !

     Pivot the demand to focus on capabilities. !  Add in the requisite expertise. !  Sequence the work to optimize for productivity and value. !  Sit back and watch the platform emerge.