Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Ideas for Distributing Skills Across a Continental Divide


Published on

Ideas for Distributing Skills Across a Continental Divide

Key Points:

- Learning needs to be collaborative and bi-directional

- Use the code base as a primary channel for communication. Encourage this in your practices.

- Select different learning practices for different phases in the project.

-Appraisal of four practices: Abridged Pairing, Collaborative Refactoring, Code Review Blitz, Follow-the-Sun Pairing.

  • Be the first to comment

  • Be the first to like this

Ideas for Distributing Skills Across a Continental Divide

  1. 1. Enabling Development Practices in a Remote Location Experiences from the ODC Project 1
  2. 2. We are so used to co-locatedcommunication that we often don’t recognise that distributed communication is a distinct skill 2
  3. 3. Traditional learning methodsbreak down in distributed teams 3
  4. 4. Successful practices foster theidea of a single distributed team 4
  5. 5. The Agile BacklogOne Story A story A story A story A story A story A storyList to do to do to do to do to do to doTwoTeams India London 5
  6. 6. Key Tenet (1) Learning practices should becollaborative and bi-directional 6
  7. 7. Learning practices should be collaborative and bi-directionalOne way instruction can have a negative affect on morale 7
  8. 8. Learning practices should be collaborative and bi-directionalIn corporate contexts collaborating to solve a problem works better than teaching, as it is empowering 8
  9. 9. Learning practices should be collaborative and bi-directionalGroup forums are more appropriate for feedback as the potential for offence is diluted by the group 9
  10. 10. Key Tenet (2)The code base should be the main tool for communicating practices. 10
  11. 11. The code base should be the main tool for communicating practices.Code is language and culturally neutral 11
  12. 12. The code base should be the main tool for communicating practices.The codebase facilitates contextual learningTeaching patterns and practices is significantlymore successful if it is done in the context of realwork in a real code base. 12
  13. 13. Key Tenet (3)The practices should change as the team evolves You need different ‘tools’ at different times 13
  14. 14. High intensity, one-on-one practices work well at the startMore collaborative, group based practices work well as the team matures 14
  15. 15. Abridged PairingOne hour per dayPros: Cons:•  Very successful mentoring practice •  Unidirectional•  Targeted and feedback driven •  Can be frustrating for both parties•  Instruction is provided in the context •  Both parties can’t edit code of a real work problem concurrently (software limitation)⇒  One of the best ways to teach skills meaning it’s not really a like OO and test driven development communication conduit. ⇒  Best for a short period of 15 enablement
  16. 16. Collaborative Refactoring•  Offline practice•  Similar to a traditional code review but is done during the development of a story. Code Base•  Reviewer actually refactors sections and then talks them through with the original developer. The original developer does the same. 16
  17. 17. Collaborative RefactoringPros:•  Real world problems•  More interactive for the reviewer•  The code is the primary communication channel Code BaseCons:•  Time consuming•  Unintentional offense 17
  18. 18. Code Review Blitz Discuss Split and review Discuss 18
  19. 19. Code Review BlitzPros:•  Group provides momentum•  Groups are a better forum for feedback•  Collect boarder themes for further discussion or follow upCons:•  Lack of Freshness: The code being reviewed can be out of date•  More code review than collaborative improvement 19
  20. 20. Follow-the-Sun Pairing (work in progress) Check In India DayOne HandoverStory London Day Check In 20
  21. 21. Developer rotations: the best way to teach practices 21
  22. 22. Practice ChampionsInculcate a remote team member with acertain skill for them to distribute 22
  23. 23. Building RapportVideo Conferences without specific agendas 23
  24. 24. Summary Try to use the code Bidirectional, base to communicatecollaborative instead instead of just theof purely instructional phone Different practices are needed at different times, no one will do 24