2. 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
3. Agile
• Individuals and Interactions
• Customer Collaboration
*www.agilemanifesto.org
3/22/10 S. M. Sohan - Communication in DASD 3
5. Agile Development Team
• Self-managed
• Open space
• Informal
3/22/10 S. M. Sohan - Communication in DASD 5
6. Agile Customer
• Very responsive
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)…
3/22/10 S. M. Sohan - Communication in DASD 6
7. Agile Business Team
• Ensures seamless collaboration
3/22/10 S. M. Sohan - Communication in DASD 7
8. Distributed Project Types
• Distributed Team
• Remote Team
• Outsourced
3/22/10 S. M. Sohan - Communication in DASD 8
9. Distributed Team
Tester Dev Tester
Dev Tester Dev
Dev Client Tester
Argentina USA India
* Distributed Agile Development at Microsoft Patterns and Practices, Ade Miller
3/22/10 S. M. Sohan - Communication in DASD 9
10. Remote Team
Customer Team
* Communication in Distributed Agile Development: A Case Study
3/22/10 S. M. Sohan - Communication in DASD 10
11. Outsourced
Customer Outsourcing Vendor
Provides Outsources
Software Product Programming
Contracts project Delivers
and meets requirements working code
Outsourcing Client
* Modified Agile Practices for Outsourced Software Projects, Batra.
3/22/10 S. M. Sohan - Communication in DASD 11
13. Distributed Project:
Opportunities*
• Cost-benefit
• Resource
• Local knowledge
• Round the clock development
*A Case Study of Coordination in Distributed Agile Software Development, Steniar et al.
* Distributed Agile Development at Microsoft Patterns and Practices, Ade Miller
3/22/10 S. M. Sohan - Communication in DASD 13
14. Agile vs. Traditional Distributed*
Relative Emphasis
Agile
Traditional GSD
• A Case Study of Coordination in Distributed Agile Software Development, Steniar et al.
3/22/10 S. M. Sohan - Communication in DASD 14
15. 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
*Using Scrum is Global Software Development: A Systematic Literature Review,
Hossain et. Al.
3/22/10 S. M. Sohan - Communication in DASD 15
16. 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”
*A Case Study of Coordination in Distributed Agile Software Development, Steniar et al.
3/22/10 S. M. Sohan - Communication in DASD 16
17. Common Challenge # 1
• Solution:
– Augment with written communication
– IM
– Emails
– Wiki etc.
– Conference Phone
– Projector
* 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.
3/22/10 S. M. Sohan - Communication in DASD 17
18. Common Challenge # 2
• Time Zone
3/22/10 S. M. Sohan - Communication in DASD 18
19. Common Challenge # 2
• Solution:
– Use team representatives per office
– Team Buddy
*A Case Study of Coordination in Distributed Agile Software Development, Steniar et al.
* Distributed Agile Development at Microsoft Patterns and Practices, Ade Miller
3/22/10 S. M. Sohan - Communication in DASD 19
20. Common Challenge # 2
• Solution:
– Modularize?
finishlinestudios.com
*A Case Study of Coordination in Distributed Agile Software Development, Steniar et al.
* Distributed Agile Development at Microsoft Patterns and Practices, Ade Miller
3/22/10 S. M. Sohan - Communication in DASD 20
21. Common Challenge # 2
• Solution:
– Use asynchronous communication: Emails,
Wiki
ruf.rice.edu
dev-farm.com
3/22/10 S. M. Sohan - Communication in DASD 21
22. Common Challenge # 2
• Solution:
– Shift core hours
* Distributed Agile Development at Microsoft Patterns and Practices, Ade Miller
* Fully Distributed Scrum, Jeff Sutherland et al.
3/22/10 S. M. Sohan - Communication in DASD 22
23. Common Challenges # 3
• Cultural Issues
• Solution:
– One Team, One Codebase; One Team, One
Build.
– Traveling.
– Team events.
– “Let people play”
* XP Expanded: Distributed Extreme Programming, Braithwaite et al.
* Fully Distributed Scrum, Jeff Sutherland et al.
3/22/10 S. M. Sohan - Communication in DASD 23
24. Common Challenges # 4
• National Holidays:
• Solution:
– Early communication
– Plan accordingly
3/22/10 S. M. Sohan - Communication in DASD 24
25. Common Challenges # 5
• Trust:
• Solution:
– Traveling
– Training
– Blogs, Social Networks www.pragia.cz
– Video conferencing for shared demo
* Distributed Agile Development at Microsoft Patterns and Practices, Ade Miller
* Fully Distributed Scrum, Jeff Sutherland et al.
3/22/10 S. M. Sohan - Communication in DASD 25
26. 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.”
* Communication in Distributed Agile Development: A Case Study, Korkala et al.
3/22/10 S. M. Sohan - Communication in DASD 26
27. 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
28. Distributed Team Challenge # 1
• Planning meetings
• Solution:
– Use online tools
– Same time
– Reduce dependencies
* Fully Distributed Scrum, Jeff Sutherland et al.
3/22/10 S. M. Sohan - Communication in DASD 28
30. Distributed Team Challenge # 2
• Daily status updates:
• Solution:
– One scrum master per team
– Scrum of scrums
– Weekly meetings
* Fully Distributed Scrum, Jeff Sutherland et al.
* A Case Study of Coordination in Distributed Agile Software Development, Hole et at.
3/22/10 S. M. Sohan - Communication in DASD 30
31. Distributed Team Challenge # 3
• Knowledge sharing
• Solution:
– Rotate developers on modules, projects.
– Use groupware: Emails, Wiki, Blogs etc.
– Use online project management tools.
* 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.
3/22/10 S. M. Sohan - Communication in DASD 31
32. Distributed Team Challenge # 4
• Self-managing
• Solution:
– Use pull-method instead of push.
– Empower each office with autonomous
decisions.
* XP Expanded: Distributed Extreme Programming, Braithwaite et al.
* Lean Software Development: An Agile Toolkit, Poppendieck and Poppendieck.
3/22/10 S. M. Sohan - Communication in DASD 32
33. Distributed Team Challenge # 5
• Modeling and planning
• Solution:
– Electronic tools
*The Agile Scaling Model (ASM), S. Amber et al.
3/22/10 S. M. Sohan - Communication in DASD 33
34. Distributed Team Challenge # 6
• Pair-programming
• Solution:
– Frequent code review meetings
* Distributed Agile Development at Microsoft Patterns and Practices, Ade Miller
3/22/10 S. M. Sohan - Communication in DASD 34
35. Remote Customer Challenge # 1
• Reviews and feedbacks
• Solution:
– Video conferencing
– Extensively use IM, Email
– Use online tools.
– Desktop sharing tools.
* Fully Distributed Scrum, Jeff Sutherland et. al.
3/22/10 S. M. Sohan - Communication in DASD 35
36. Remote Customer Challenge # 2
• Business domain knowledge transfer
• Solution:
– Training
– Audio/video conferencing
– Groupware.
3/22/10 S. M. Sohan - Communication in DASD 36
37. Remote Customer Challenge # 3
• Requirements Transfer
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
• Solution:
– Executable acceptance tests
* XP Expanded: Distributed Extreme Programming, Braithwaite et al.
3/22/10 S. M. Sohan - Communication in DASD 37
38. Outsourced Project Challenge # 1
• Relaying knowledge
• Solution:
– Include off-shore team in client meetings.
– Use audio/video recording.
* Modified Agile Practices for Outsourced Software Projects, Batra.
3/22/10 S. M. Sohan - Communication in DASD 38
39. Outsourced Project Challenge # 2
• Process mismatch
• Solution:
– Ensure key contact people.
– Frequently communicate with the key
contact people.
* Modified Agile Practices for Outsourced Software Projects, Batra.
3/22/10 S. M. Sohan - Communication in DASD 39
40. Unsolved Challenge
• Distributed Pair Programming
• Whiteboard discussion
* Distributed Agile Development at Microsoft Patterns and Practices, Ade Miller
3/22/10 S. M. Sohan - Communication in DASD 40
43. Wish List
• Integrated communication tool
• Traveling and rotating members
• Seamless real-time communication tools
3/22/10 S. M. Sohan - Communication in DASD 43