distributed development best practices

60
Distributed Development Best Practices September 7, 2012

Upload: sunil-mundra

Post on 10-May-2015

1.067 views

Category:

Entertainment & Humor


3 download

TRANSCRIPT

Page 1: Distributed Development Best Practices

Distributed Development

Best Practices

September 7, 2012

Page 2: Distributed Development Best Practices

Outline

Why Distributed Development

Challenges In Distributed

Development

Best Practices

Role of Agile in Distributed

Development

Summary

Q&A

Page 3: Distributed Development Best Practices

Setting Expectations

Takeaways

Sources of

Challenges

Practical tips for

Best Practices

Role of Agile in

enabling

Distributed

Development

Not Meant

Agile Practices

One Size Fits All

Silver Bullet

Page 4: Distributed Development Best Practices

Why Distributed

Development?

Page 5: Distributed Development Best Practices

BAU

Cost Arbitrage

Outsourcing

Page 6: Distributed Development Best Practices

BAU

Cost Arbitrage

Outsourcing

Proximity to Customers

24 X 7 Development Cycle

Access to Talent/Experience

Page 7: Distributed Development Best Practices

Challenges

Page 8: Distributed Development Best Practices

Scenario 1

Development Team is split between 2 vastly

different time zones, say China and Brazil,

and have never met each other. The teams

communicate via emails and phone calls.

Challenge: Barriers to Communication

and Collaboration

Page 9: Distributed Development Best Practices

Scenario 2

Client is in USA and Development is

happening in Brazil, and client is

communicating requirements via documents

and phone calls.

Challenge: Client Requirements Disconnect/Misunderstanding

Page 10: Distributed Development Best Practices

Scenario 3

Product development is split between USA

and India. USA Devs think India Devs are

not good enough, and India Devs think their

work is not getting appreciated in USA

Challenge: Lack of Trust and Low Morale

Page 11: Distributed Development Best Practices

Scenario 4

Product development is split between USA

and India. India Devs ended their day with a

broken build, resulting in USA Devs not

being able to work on the latest build

Challenge: Lack of Co-ordination

Page 12: Distributed Development Best Practices

Scenario 5

Product development is split between USA

and Philippines. On the release date, USA

was ready with their features, but

Philippines slipped

Challenge: Lack of Visibility

Page 13: Distributed Development Best Practices

Additional Challenges

Page 14: Distributed Development Best Practices

Additional Challenges

Lack of Cultural Sensitivity

Page 15: Distributed Development Best Practices

Additional Challenges

Unforeseen Risks

Page 16: Distributed Development Best Practices

Additional Challenges

Lack of Common Ownership of Code

Page 17: Distributed Development Best Practices

Additional Challenges

Lack of ‘Big Picture’ View

Page 18: Distributed Development Best Practices

Additional Challenges

Finger Pointing on Slip Ups

Page 19: Distributed Development Best Practices

Best Practices

Page 20: Distributed Development Best Practices

People

Process Tools

& Infrastructure

Challenges

Page 21: Distributed Development Best Practices

People

Page 22: Distributed Development Best Practices

People

Proxy Product Owner

Page 23: Distributed Development Best Practices

People

Cross Pollination

Page 24: Distributed Development Best Practices

People

Cultural Sensitivity

Page 25: Distributed Development Best Practices

People

Optimize Team Around

Effective Communicators

Page 26: Distributed Development Best Practices

People

Enable

Personal Relationships

Page 27: Distributed Development Best Practices

People

Culture of Feedback

Page 28: Distributed Development Best Practices

Process

Page 29: Distributed Development Best Practices

Process

Joint Meetings:

Stand Ups

Retrospectives

Page 30: Distributed Development Best Practices

Process

Showcases

Page 31: Distributed Development Best Practices

Process

Overlap Hours

Page 32: Distributed Development Best Practices

Process

Remote Pairing

Page 33: Distributed Development Best Practices

Process

Operational Documentation

Page 34: Distributed Development Best Practices

Process

Co-Located Meetings:

Inception

Release Planning

Page 35: Distributed Development Best Practices

Process

Functionality Based Structure

Page 36: Distributed Development Best Practices

Process

Daily Hand Offs

Page 37: Distributed Development Best Practices

Tools & Infrastructure

Page 38: Distributed Development Best Practices

Tools

Electronic Info. Radiators:

Story Wall

Build

Metrics Dashboard

Page 39: Distributed Development Best Practices

Tools

Communication and

Collaboration Tools

Page 40: Distributed Development Best Practices

Infrastructure

Standard Team Rooms

Page 41: Distributed Development Best Practices

Infrastructure

Network Connectivity

Page 42: Distributed Development Best Practices

Infrastructure

Development and Testing

Environments

Page 43: Distributed Development Best Practices

Infrastructure

Version Control System

Page 44: Distributed Development Best Practices

Electronic Story Wall Example

Page 45: Distributed Development Best Practices

Tools Examples

Telepresence

Multi-View

Webcams

CI and Build Pipeline

Speaker Phones

Wiki Messaging Tools

Page 46: Distributed Development Best Practices

Agile & Distributed Dev.

Page 47: Distributed Development Best Practices

Agile and Distributed Development

Reduce Project Risk

Page 48: Distributed Development Best Practices

Agile and Distributed Development

Maximize Collaboration

Page 49: Distributed Development Best Practices

Agile and Distributed Development

Overcoming Communication

Barriers

Page 50: Distributed Development Best Practices

Agile and Distributed Development

Maximize Efficiency Through

Engineering Practices

Page 51: Distributed Development Best Practices

Agile and Distributed Development

Scale Without Sacrificing Quality

Page 52: Distributed Development Best Practices

To Summarize…..

Page 53: Distributed Development Best Practices

To Summarize

Communication and Travel

Overheads Are Worth It

Page 54: Distributed Development Best Practices

To Summarize

Remember, Not Everyone Is In

‘The Room’

Page 55: Distributed Development Best Practices

To Summarize

Transparency Is Key

Page 56: Distributed Development Best Practices

To Summarize

Aim To Maximize ‘Intimacy’

Page 57: Distributed Development Best Practices

To Summarize

Maintain Discipline

Page 58: Distributed Development Best Practices

To Summarize

Leverage The Distance

Page 59: Distributed Development Best Practices

Questions?

Sunil Mundra

[email protected]

Blog:

http://suniltalksagile.wordpress.com/

Page 60: Distributed Development Best Practices

Thank You!