Presentation is loading. Please wait.

Presentation is loading. Please wait.

Remote Pair Programming Agile 2013 Johannes Brodwall Exilesoft Chief Guest starring: Niruka Ruhunage.

Similar presentations


Presentation on theme: "Remote Pair Programming Agile 2013 Johannes Brodwall Exilesoft Chief Guest starring: Niruka Ruhunage."— Presentation transcript:

1 Remote Pair Programming Agile 2013 Johannes Brodwall Exilesoft Chief scientist @jhannes Guest starring: Niruka Ruhunage

2 Can a distributed team still Communicate closely?

3 This talk is for you if you…

4 Want to work with remote colleagues

5 Want to practice pair programming (more)

6 Want to see some TDD coding

7 (And you’re not scared by coding)

8 After this talk Find a remote mentor Pair with your remote team Run a distributed workshop

9 1.Why 2.How 3.Demonstration 4.Discussion: Distributed agile

10 Why global teams

11 There are not enough devs here

12 (for most values of “here”)

13 (There are not enough devs here) But there are more “over there”

14 But

15 Communication cost increases with distance

16 Luckily

17 Communication cost increases with distance

18 Everybody knows that: Communication cost increases with distance

19 Which would you prefer:

20 A.Team sits onsite, but… uses headphones all day speak to customer monthly

21 Which would you prefer: A.Team sits onsite, but… uses headphones all day speak to customer monthly B.Team 1/3 around the world Pair programs with local devs Speak with customer daily

22 Distribution change communication

23 Huge email discussions

24 Large meetings

25 Small group discussions

26 Structured collaboration

27 Practical remote programming

28 Don’t send each keystroke across the world and back

29 We want a solution that is not super-expensive

30 Voice sharing Screen sharing File sharing

31 Voice sharing (Skype) Screen sharing (GoToMeeting) File sharing (Dropbox)

32 Ping pong

33 Ingredient #1: Pair programming

34

35

36 Ingredient #2: Test driven development

37 Failing test Write code Failing test Write code Failing test

38 Ingredient #3: Refactoring

39 Failing test Write code Failing test Write code Failing test Refactor code and tests

40 Put together

41 Failing test Write code Failing test Write code Failing test

42 Write code Failing test Write code Failing test Refactor code and tests

43 Failing test Write code Failing test Write code Failing test Refactor code and tests

44 Demonstration

45 What to watch for?

46 Collaboration Problems and approaches

47 Say hello to my team!

48 Remember: Suboptimal network

49 Please: Talk about what you see to the person next to you (whisper) Tweet to @jhannes

50 Demonstration (Guest starring Niruka Ruhunage)

51 Kata: Bank OCR

52 _ _ _ _ _ _ _ _ _ |_||_||_||_||_||_||_||_||_| |_||_||_||_||_||_||_||_||_| => 888888888 AMB [888886888, 888888988, 888888880]

53 Discussion

54 Benefits (Guest starring Niruka Ruhunage)

55 Domain knowledge Also involving the quiet ones Grow technically

56 What did you see?

57 Dealing with time-lag

58 Helping each other

59 Communicating ideas

60 Usage

61 Dev extension Training Job interviews

62 Dev extension

63

64

65 Training You just saw it…

66 Interviews Reveals real skills Motivating: fun and educational => Good PR Pre-start training

67 Distributed workshops

68 First week

69 MondayTuesdayWednesdayThursdayFriday Goal, Stakeholders Dev baseline Review usage Define progress, Stories Wrap up docs Dev baseline Lunch Look at what’s going on today Stakeholder, Usage Usage review, Context, Domain, Deployment Refine models Review, Retrospective

70

71

72

73 1.Teams of 3 (distributed) 2.Create goal statements – 10 minutes 3.Consensus goal

74 For some stakeholder Who has a goal The system/activity/increment Is a type of system/activity Which gives a capability/feature. Unlike most relevant alternative This has a distinguishing advantage.

75 For a busy sales officer Who wants to find good prospects to contact when in a city The CRM customer radar Is a mobile map application Which displays nearby customers on a map. Unlike searching for prospects in CRM portal This provides the information at a glance.

76 What do we get from this?

77 Small groups Clear task Cross boundaries

78 Distributed retrospective

79 Example agenda

80 1.Defining word 2.Groups discussion: achievements and challenges 3.Whole team discuss where are we 4.Round the table suggest actions 5.Hopes for the future

81 Lessons

82 Small groups Clear task Eye contact doesn’t work

83 Decreasing the distance

84 How do you decrease the distance in your team?

85 Conclusions

86 More distribution => more structured communication

87 Dropbox, Skype, GoToMeeting

88 It’s a small world, after all

89 Find a remote pair prog partner

90 Have fun

91 Grab hold of me in the hallway for a pair programming session

92 jbr@exilesoft.com nru@exilesoft.com http://johannesbrodwall.com http://exilesoft.com http://twitter.com/jhannes Thank you


Download ppt "Remote Pair Programming Agile 2013 Johannes Brodwall Exilesoft Chief Guest starring: Niruka Ruhunage."

Similar presentations


Ads by Google