Communication Challenges in Distributed Agile Projects
S. M. Sohan http://www.smsohan.com
Summary
• Scope • What is distributed agile? • What are the key communication
challenges? • How to win the challenges? • Q & A
3/22/10 S. M. Sohan - Communication in DASD 2
Agile
• Individuals and Interactions • Customer Collaboration
3/22/10 S. M. Sohan - Communication in DASD 3 *www.agilemanifesto.org
People
• Developers • Customers • Managers
3/22/10 S. M. Sohan - Communication in DASD 4
Agile Development Team
• Self-managed • Open space • Informal
3/22/10 S. M. Sohan - Communication in DASD 5
Agile Customer
• Very responsive
3/22/10 S. M. Sohan - Communication in DASD 6
10:00:01 AM you wrote:
Please let me know if you have any feedback on the…
10:00:15 AM she wrote:
Here is my quick feedback: a)… b)…
Agile Business Team
• Ensures seamless collaboration
3/22/10 S. M. Sohan - Communication in DASD 7
Distributed Project Types
• Distributed Team • Remote Team • Outsourced
3/22/10 S. M. Sohan - Communication in DASD 8
Distributed Team
3/22/10 S. M. Sohan - Communication in DASD 9
Tester
Dev
Dev
Dev
Tester
Client
Tester
Dev
Tester
USA Argentina India
* Distributed Agile Development at Microsoft Patterns and Practices, Ade Miller
Remote Team
3/22/10 S. M. Sohan - Communication in DASD 10
Customer Team
* Communication in Distributed Agile Development: A Case Study
Outsourced
3/22/10 S. M. Sohan - Communication in DASD 11
Customer Outsourcing Vendor
Outsourcing Client
Contracts project and meets requirements
Provides Software Product
Delivers working code
Outsources Programming
* Modified Agile Practices for Outsourced Software Projects, Batra.
Distributed Project: Scale
3/22/10 S. M. Sohan - Communication in DASD 12
Distributed Project: Opportunities*
• Cost-benefit • Resource • Local knowledge • Round the clock development
3/22/10 S. M. Sohan - Communication in DASD 13
*A Case Study of Coordination in Distributed Agile Software Development, Steniar et al. * Distributed Agile Development at Microsoft Patterns and Practices, Ade Miller
Agile vs. Traditional Distributed* R
elat
ive
Em
ph
asis
Agile
Traditional GSD
3/22/10 S. M. Sohan - Communication in DASD 14
• A Case Study of Coordination in Distributed Agile Software Development, Steniar et al.
Challenging Factors Challenging Factor Frequency of
Studies
Synchronous Communication 9
Collaboration Difficulties 6
Communication Bandwidth 6
Tool Support 6
Large Team 5
Office Space 2
Multiple sites 1
3/22/10 S. M. Sohan - Communication in DASD 15
*Using Scrum is Global Software Development: A Systematic Literature Review, Hossain et. Al.
Common Challenge # 1
• Language and Accents*: “We tried to use telephone-conference, but
it didn’t work well, because of language problems…. It takes time to organize telephone-conference”
3/22/10 S. M. Sohan - Communication in DASD 16
*A Case Study of Coordination in Distributed Agile Software Development, Steniar et al.
Common Challenge # 1
• Solution: – Augment with written communication – IM – Emails – Wiki etc. – Conference Phone – Projector
3/22/10 S. M. Sohan - Communication in DASD 17
* A Case Study of Coordination in Distributed Agile Software Development, Steniar et al. * Knowledge Sharing in Agile Software Teams, Chau et al. (MASE, Wiki Based) * Knowledge Management Support for Distributed Agile Software Process, Holz et al. (PRIME) * Distributed Agile Development at Microsoft Patterns and Practices, Ade Miller * XP Expanded: Distributed Extreme Programming, Braithwaite et al.
Common Challenge # 2 • Time Zone
3/22/10 S. M. Sohan - Communication in DASD 18
Common Challenge # 2 • Solution: – Use team representatives per office – Team Buddy
3/22/10 S. M. Sohan - Communication in DASD 19
*A Case Study of Coordination in Distributed Agile Software Development, Steniar et al. * Distributed Agile Development at Microsoft Patterns and Practices, Ade Miller
Common Challenge # 2
• Solution: – Modularize?
3/22/10 S. M. Sohan - Communication in DASD 20
*A Case Study of Coordination in Distributed Agile Software Development, Steniar et al. * Distributed Agile Development at Microsoft Patterns and Practices, Ade Miller
finishlinestudios.com
Common Challenge # 2
• Solution: – Use asynchronous communication: Emails,
Wiki
3/22/10 S. M. Sohan - Communication in DASD 21
ruf.rice.edu dev-farm.com
Common Challenge # 2
• Solution: – Shift core hours
3/22/10 S. M. Sohan - Communication in DASD 22
* Distributed Agile Development at Microsoft Patterns and Practices, Ade Miller * Fully Distributed Scrum, Jeff Sutherland et al.
Common Challenges # 3
• Cultural Issues • Solution: – One Team, One Codebase; One Team, One
Build. – Traveling. – Team events. – “Let people play”
3/22/10 S. M. Sohan - Communication in DASD 23
* XP Expanded: Distributed Extreme Programming, Braithwaite et al. * Fully Distributed Scrum, Jeff Sutherland et al.
Common Challenges # 4
• National Holidays:
• Solution: – Early communication – Plan accordingly
3/22/10 S. M. Sohan - Communication in DASD 24
Common Challenges # 5
• Trust:
• Solution: – Traveling – Training – Blogs, Social Networks – Video conferencing for shared demo
3/22/10 S. M. Sohan - Communication in DASD 25
* Distributed Agile Development at Microsoft Patterns and Practices, Ade Miller * Fully Distributed Scrum, Jeff Sutherland et al.
www.pragia.cz
Common Challenges # 6
• Mindset: “Thus we conclude that if the customer is
not able or willing to participate actively in the communication when needed, any communication mechanism becomes redundant.”
3/22/10 S. M. Sohan - Communication in DASD 26
* Communication in Distributed Agile Development: A Case Study, Korkala et al.
Distributed Stand-up Meeting
• http://www.youtube.com/watch?v=1BZ2RkrINSE&feature=channel
• http://www.youtube.com/watch?v=q1RqhRcPJZ0&feature=related
3/22/10 S. M. Sohan - Communication in DASD 27
Distributed Team Challenge # 1
• Planning meetings
• Solution: – Use online tools – Same time – Reduce dependencies
3/22/10 S. M. Sohan - Communication in DASD 28
* Fully Distributed Scrum, Jeff Sutherland et al.
Distributed Team Challenge # 1
• Online tools
3/22/10 S. M. Sohan - Communication in DASD 29
Distributed Team Challenge # 2
• Daily status updates:
• Solution: – One scrum master per team – Scrum of scrums – Weekly meetings
3/22/10 S. M. Sohan - Communication in DASD 30
* Fully Distributed Scrum, Jeff Sutherland et al. * A Case Study of Coordination in Distributed Agile Software Development, Hole et at.
Distributed Team Challenge # 3
• Knowledge sharing • Solution: – Rotate developers on modules, projects. – Use groupware: Emails, Wiki, Blogs etc. – Use online project management tools.
3/22/10 S. M. Sohan - Communication in DASD 31
* Essential Communication Practices for Extreme Programming in a Global Software Development team, Layman et al. * Communication in Distributed Agile Development: A Case Study, Korkala et al.
Distributed Team Challenge # 4
• Self-managing
• Solution: – Use pull-method instead of push. – Empower each office with autonomous
decisions.
3/22/10 S. M. Sohan - Communication in DASD 32
* XP Expanded: Distributed Extreme Programming, Braithwaite et al. * Lean Software Development: An Agile Toolkit, Poppendieck and Poppendieck.
Distributed Team Challenge # 5
• Modeling and planning
• Solution: – Electronic tools
3/22/10 S. M. Sohan - Communication in DASD 33
*The Agile Scaling Model (ASM), S. Amber et al.
Distributed Team Challenge # 6
• Pair-programming
• Solution: – Frequent code review meetings
3/22/10 S. M. Sohan - Communication in DASD 34
* Distributed Agile Development at Microsoft Patterns and Practices, Ade Miller
Remote Customer Challenge # 1
• Reviews and feedbacks
• Solution: – Video conferencing – Extensively use IM, Email – Use online tools. – Desktop sharing tools.
3/22/10 S. M. Sohan - Communication in DASD 35
* Fully Distributed Scrum, Jeff Sutherland et. al.
Remote Customer Challenge # 2
• Business domain knowledge transfer • Solution: – Training – Audio/video conferencing – Groupware.
3/22/10 S. M. Sohan - Communication in DASD 36
Remote Customer Challenge # 3
• Requirements Transfer
• Solution: – Executable acceptance tests
3/22/10 S. M. Sohan - Communication in DASD 37
* XP Expanded: Distributed Extreme Programming, Braithwaite et al.
Feature: Addition In order to avoid silly mistakes As a math idiot I want to be told the sum of two numbers Scenario: Add two numbers Given I have entered 50 into the calculator And I have entered 70 into the calculator When I press add Then the result should be 120 on the screen
Outsourced Project Challenge # 1
• Relaying knowledge
• Solution: – Include off-shore team in client meetings. – Use audio/video recording.
3/22/10 S. M. Sohan - Communication in DASD 38
* Modified Agile Practices for Outsourced Software Projects, Batra.
Outsourced Project Challenge # 2
• Process mismatch
• Solution: – Ensure key contact people. – Frequently communicate with the key
contact people.
3/22/10 S. M. Sohan - Communication in DASD 39
* Modified Agile Practices for Outsourced Software Projects, Batra.
Unsolved Challenge
• Distributed Pair Programming • Whiteboard discussion
3/22/10 S. M. Sohan - Communication in DASD 40
* Distributed Agile Development at Microsoft Patterns and Practices, Ade Miller
Conflicting Literature
• Telephone/Video conferencing • Modules per team • Multiple scrum-masters
3/22/10 S. M. Sohan - Communication in DASD 41
Communication Tools
3/22/10 S. M. Sohan - Communication in DASD 42
Wish List
• Integrated communication tool • Traveling and rotating members • Seamless real-time communication tools
3/22/10 S. M. Sohan - Communication in DASD 43
Questions
Top Related