distributed agile

56
November 2, 2011

Upload: kmanthei

Post on 15-Nov-2014

385 views

Category:

Technology


2 download

DESCRIPTION

Matt Simons Agile East 2011

TRANSCRIPT

Page 1: Distributed Agile

November 2, 2011

Page 2: Distributed Agile

Matt SimonsDirector of Global DeliveryThoughtWorks

• 16 years in IT consulting, 12 at ThoughtWorks

• Various roles across delivery/Operations/Sales

• Established ThoughtWorks first offshore delivery center in Bangalore in 2001

• Managing Director, ThoughtWorks India 2005-2007

• Currently oversees offshore demand generation in TW Americas for TW India, TW China and TW Brazil

• Writes and speaks about outsourcing and Global Delivery around the world

Matt SimonsThe Guy on the Horse

Page 3: Distributed Agile
Page 4: Distributed Agile

Appreciation for the importance of honing your global delivery capability

A framework to help you plan global delivery efforts

Specific tactics to help you improve your execution

Page 5: Distributed Agile

Software Development Agile

Page 6: Distributed Agile
Page 7: Distributed Agile

Mergers and acquisitionsCenters of excellenceProximity to customersLabor arbitrageWorking from homeAccess to top talent/experience

OutsourcingLines of businessCountries of operationJoint development effortsOpen source3rd-party Suppliers24 x 7 development

Page 8: Distributed Agile

Your software delivery effort

OffshoreVendor

Internal ISTeam

Domain Experts

ServicesVendor

PackageProvider

Page 9: Distributed Agile

• multi-source your vendors

• set-up clear, quantifiable metrics andmeasure measure measure!

• establish formal process & governance

• spend more time on requirements

• provide detailed architectual specs

• start with a ‘safe project’

• focus on simple, non-core tasks

Page 10: Distributed Agile

Credit: Thomas Allan, Managing the Flow of Technology, MIT Press

Page 11: Distributed Agile
Page 12: Distributed Agile
Page 13: Distributed Agile

INTIMACY

North America

Central/South America

Asia

Europe

TEMPORAL SEPARATIONPhysical SeparationCultural Separation

Page 14: Distributed Agile

Dysfunctional

TestersTestersDevelopers

Developers

Developers

Developers

Location 1Customers

Customers

Customers

Customers

Location 3Location 2

Page 15: Distributed Agile

Dysfunctional

Testers

Analysts

Testers

Analysts

Developers

Developers

Developers

Developers

Location 1 Location 2Customers

Customers

Customers

Customers

Location 3

Developers Testers

Customers Analysts

Functioning

Developers Testers

Customers Analysts

Page 16: Distributed Agile

Dysfunctional

Testers

Analysts

Testers

Analysts

Developers

Developers

Developers

Developers

Location 1 Location 2Customers

Customers

Customers

Customers

Location 3

Developers Testers

Customers Analysts

Functioning

Developers Testers

Customers Analysts

Developers

Customers

Testers

Analysts

Developers

Customers

Testers

Analysts

Most Effective

Page 17: Distributed Agile
Page 18: Distributed Agile

Communication Breakdown• Poor handoffs, difficult timings• Introduce down time / waste in process

Team Behaviors• Lack of trust between teams• Low morale / high turnover on teams

Visibility• Unforeseen risks• Unknown progress, status, etc• Hard to make the right decisions in time

Delivery challenges High-stress situations• Slipped delivery dates• Missed requirements / implemented incorrect functionality• Divergent estimates / incorrect release plan

Communication

Visibility

TrustDelivery

Page 19: Distributed Agile

People

ProcessTools

Communication

Visibility

TrustDelivery

Page 20: Distributed Agile

People Process ToolsDining Room Tables Daily Stand up WikiCross Pollination Distributed Meeting 101 Star phonesRedundant Roles Retrospectives Video ConferenceKey Role: IM Showcases Smart BoardsKey Role: Tech Liaison Team core hours IM / SkypeKey Role: Domain Expert Agile Principles Virtual Card WallsKey Role: Customer Proxy Agile Tracking / Metrics Story / Bug Tracking toolWeb of connections Remote pairing Build Pipeline

Page 21: Distributed Agile

People Process ToolsDining Room Tables Daily Stand up WikiCross Pollination Distributed Meeting 101 Star phonesRedundant Roles Retrospectives Video ConferenceKey Role: IM Showcases Smart BoardsKey Role: Tech Liaison Team core hours IM / SkypeKey Role: Domain Expert Agile Principles Virtual Card WallsKey Role: Customer Proxy Agile Tracking / Metrics Story / Bug Tracking toolWeb of Connections Remote pairing Build Pipeline

Page 22: Distributed Agile

Project Manager

Scrum Master

Developer Business Analyst Test Analyst

Project Manager

Business AnalystTech Lead Sprint Test Lead

Developer Business Analyst Test AnalystProduct OwnerArchitect Release Test Lead

Page 23: Distributed Agile

People Process ToolsDining Room Tables Daily Stand up WikiCross Pollination Distributed Meeting 101 Star phonesRedundant Roles Retrospectives Video ConferenceKey Role: IM Showcases Smart BoardsKey Role: Tech Liaison Team core hours IM / SkypeKey Role: Domain Expert Agile Principles Virtual Card WallsKey Role: Customer Proxy Agile Tracking / Metrics Story / Bug Tracking toolWeb of connections Remote pairing Build Pipeline

Page 24: Distributed Agile

People Process ToolsDining Room Tables Daily Stand up WikiCross Pollination Distributed Meeting 101 Star phonesRedundant Roles Retrospectives Video ConferenceKey Role: IM Showcases Smart BoardsKey Role: Tech Liaison Team core hours IM / SkypeKey Role: Domain Expert Agile Principles Virtual Card WallsKey Role: Customer Proxy Agile Tracking / Metrics Story / Bug Tracking toolWeb of connections Remote pairing Build Pipeline

Page 25: Distributed Agile

Vs.

Page 26: Distributed Agile

People Process ToolsDining Room Tables Daily Stand up WikiCross Pollination Distributed Meeting 101 Star phonesRedundant Roles Retrospectives Video ConferenceKey Role: IM Showcases Smart BoardsKey Role: Tech Liaison Team core hours IM / SkypeKey Role: Domain Expert Agile Principles Virtual Card WallsKey Role: Customer Proxy Agile Tracking / Metrics Story / Bug Tracking toolWeb of connections Remote pairing Build Pipeline

Page 27: Distributed Agile

People Process ToolsDining Room Tables Daily Stand up WikiCross Pollination Distributed Meeting 101 Star phonesRedundant Roles Retrospectives Video ConferenceKey Role: IM Showcases Smart BoardsKey Role: Tech Liaison Team core hours IM / SkypeKey Role: Domain Expert Agile Principles Virtual Card WallsKey Role: Customer Proxy Agile Tracking / Metrics Story / Bug Tracking toolWeb of connections Remote pairing Build Pipeline

Page 28: Distributed Agile

28

“Yesterday, I …”

“Problems …”

“Today, I ...”

Page 29: Distributed Agile

People Process ToolsDining Room Tables Daily Stand up WikiCross Pollination Distributed Meeting 101 Star phonesRedundant Roles Retrospectives Video ConferenceKey Role: IM Showcases Smart BoardsKey Role: Tech Liaison Team core hours IM / SkypeKey Role: Domain Expert Agile Principles Virtual Card WallsKey Role: Customer Proxy Agile Tracking / Metrics Story / Bug Tracking toolWeb of connections Remote pairing Build Pipeline

Page 30: Distributed Agile

People Process ToolsDining Room Tables Daily Stand up WikiCross Pollination Distributed Meeting 101 Star phonesRedundant Roles Retrospectives Video ConferenceKey Role: IM Showcases Smart BoardsKey Role: Tech Liaison Team core hours IM / SkypeKey Role: Domain Expert Agile Principles Virtual Card WallsKey Role: Customer Proxy Agile Tracking / Metrics Story / Bug Tracking toolWeb of connections Remote pairing Build Pipeline

Page 31: Distributed Agile
Page 32: Distributed Agile

People Process ToolsDining Room Tables Daily Stand up WikiCross Pollination Distributed Meeting 101 Star phonesRedundant Roles Retrospectives Video ConferenceKey Role: IM Showcases Smart BoardsKey Role: Tech Liaison Team core hours IM / SkypeKey Role: Domain Expert Agile Principles Virtual Card WallsKey Role: Customer Proxy Agile Tracking / Metrics Story / Bug Tracking toolWeb of connections Remote pairing Build Pipeline

Page 33: Distributed Agile

People Process ToolsDining Room Tables Daily Stand up WikiCross Pollination Distributed Meeting 101 Star phonesRedundant Roles Retrospectives Video ConferenceKey Role: IM Showcases Smart BoardsKey Role: Tech Liaison Team core hours IM / SkypeKey Role: Domain Expert Agile Principles Virtual Card WallsKey Role: Customer Proxy Agile Tracking / Metrics Story Tracking toolWeb of connections Remote pairing Build Pipeline

Page 34: Distributed Agile

Telepresence

Multi-View WebcamsCI and Build Pipeline

Comms Infrastructure

Wiki and Collaboration Tools

Messaging Tools

Page 35: Distributed Agile

People Process ToolsDining Room Tables Daily Stand up WikiCross Pollination Distributed Meeting 101 Star phonesRedundant Roles Retrospectives Video ConferenceKey Role: IM Showcases Smart BoardsKey Role: Tech Liaison Team core hours IM / SkypeKey Role: Domain Expert Agile Principles Virtual Card WallsKey Role: Customer Proxy Agile Tracking / Metrics Story / Bug Tracking toolWeb of connections Remote pairing Build Pipeline

Page 36: Distributed Agile

People Process ToolsDining Room Tables Showcases Agile Tracking ToolsOverlap Time Co-located release plan Key metricsCross Pollination Retrospectives Collaboration toolsTeam outings Agile principles Communication toolsCultural Considerations Daily Handoff Digital Camera / VideoPersonal relationships Culture of feedback

Page 37: Distributed Agile

People Process ToolsDining Room Tables Showcases Agile Tracking ToolsOverlap Time Co-located release plan Key metricsCross Pollination Retrospectives Collaboration toolsTeam outings Agile principles Communication toolsCultural Considerations Daily Handoff Digital Camera / VideoPersonal relationships Culture of feedback

Page 38: Distributed Agile

photo credit: toobizarre.blogspot.com

Page 39: Distributed Agile

People Process ToolsDining Room Tables Showcases Agile Tracking ToolsOverlap Time Co-located release plan Key metricsCross Pollination Retrospectives Collaboration toolsTeam outings Agile principles Communication toolsCultural Considerations Daily Handoff Digital Camera / VideoPersonal relationships Culture of feedback

Page 40: Distributed Agile

People Process ToolsDining Room Tables Showcases Agile Tracking ToolsOverlap Time Co-located release plan Key metricsCross Pollination Retrospectives Collaboration toolsTeam outings Agile principles Communication toolsCultural Considerations Daily Handoff Digital Camera / VideoPersonal relationships Culture of feedback

Page 41: Distributed Agile
Page 42: Distributed Agile

People Process ToolsCross Pollination Planning Meeting 101 Story / Bug Tracking toolHome and Away Co-located release planning Agile tracking / metrics

Product VisioningProject Inception

Page 43: Distributed Agile

People Process ToolsCross Pollination Planning Meeting 101 Story / Bug Tracking toolHome and Away Co-located release planning Agile tracking / metrics

Product VisioningProject Inception

Page 44: Distributed Agile
Page 45: Distributed Agile

People Process ToolsRedundant Roles Showcases Virtual card walls

Key Role: Customer Proxy Retrospectives Story tracking tool

Cross Pollination of team Iteration Planning Meetings Defect tracking tool

Incremental delivery Build pipeline

Prioritized business backlog Continuous IntegrationCode quality metrics

Test planning / tracking tools

Agile metrics and tracking

Page 46: Distributed Agile

People Process ToolsRedundant Roles Showcases Virtual card walls

Key Role: Customer Proxy Retrospectives Story tracking tool

Cross Pollination of team Iteration Planning Meetings Defect tracking tool

Incremental delivery Build pipeline

Prioritized business backlog Continuous IntegrationCode quality metrics

Test planning / tracking tools

Agile metrics and tracking

Page 47: Distributed Agile
Page 48: Distributed Agile

People Process ToolsRedundant Roles (UFOs) Showcases Virtual card walls

Key Role: Customer Proxy Retrospectives Story tracking tool

Cross Pollination of team Iteration Planning Meetings Defect tracking tool

Incremental delivery Build pipeline

Prioritized business backlog Continuous IntegrationCode quality metrics

Test planning / tracking tools

Agile metrics and tracking

Page 49: Distributed Agile

People Process ToolsRedundant Roles (UFOs) Showcases Virtual card walls

Key Role: Customer Proxy Retrospectives Story tracking tool

Cross Pollination of team Iteration Planning Meetings Defect tracking tool

Incremental delivery Build pipeline

Prioritized business backlog Continuous IntegrationCode quality metrics

Test planning / tracking tools

Agile metrics and tracking

Page 50: Distributed Agile
Page 51: Distributed Agile
Page 52: Distributed Agile

More Less

Delivery Process Maturity

Duration & Scale

Volatility

Flexibility

Transparency

Strength of team Relationships

Stakeholders

Page 53: Distributed Agile

More Less

Immature/ad hoc approach to delivery

Consistent and disciplined delivery approach (Agile)

Delivery Process Maturity

Duration & Scale

Volatility

Flexibility

Transparency

Strength of team Relationships

Stakeholders

Page 54: Distributed Agile

More Less

Immature/ad hoc approach to delivery

Short-term, and/or small projects (<6 months, < 10 people)

Highly unstable requirements

Open to shifting hours & travel

Less transparent culture

Weak or non-existent team relationships

Multiple parties involved

Consistent and disciplined delivery approach (Agile)

Longer, larger projects

More requirements stability

Willingness/desire to travel, shift hours

Open, transparent communication

Strong existing team relationships

Fewer parties involved

Delivery Process Maturity

Duration & Scale

Volatility

Flexibility

Transparency

Strength of team Relationships

Stakeholders

Page 55: Distributed Agile

Appreciation for the importance of honing your global delivery capability

A framework to help you plan global delivery efforts

Specific tactics to help you improve your execution

Page 56: Distributed Agile

ENDTHANK YOU

Matt [email protected]