Top Banner
November 2, 2011
56

Distributed Agile

Nov 15, 2014

Download

Technology

Kmanthei

Matt Simons Agile East 2011
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
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]