$30 off During Our Annual Pro Sale. View Details »

Ping Pong Pair Programming - Heart of Agile Pittsburgh 2017

Ping Pong Pair Programming - Heart of Agile Pittsburgh 2017

Ping Pong Pair Programming - The Ultimate Developer Technique from Heart of Agile - Pittsburgh

Anthony Sciamanna

April 27, 2017
Tweet

More Decks by Anthony Sciamanna

Other Decks in Programming

Transcript

  1. The Ultimate Developer Collaboration Technique PING PONG PAIR PROGRAMMING Anthony

    Sciamanna @asciamanna Nick Goede @ngoede Heart of Agile Pittsburgh – April 27, 2017
  2. Nick Anthony 2008 2005 Acquisition - 2013 Early 2014 Nine

    years of experience working together, practicing and coaching teams on XP XP Organization 2000
  3. The Problem

  4. Pair Programming is really interesting, everybody talks about it but

    no one does it. - Bryan Helmkamp, Founder and CEO Code Climate, Baruco 2013 “
  5. Traditional Pair Programming Challenges What we’ve heard…

  6. I never get to type!

  7. None
  8. Whenever I am driving my pair just looks at their

    phone.
  9. None
  10. I can’t ever get into flow when pairing.

  11. None
  12. Talking about everything I’m doing slows me down.

  13. Developers new to TDD & pair programming think they have

    to solve the big problems before they start pairing
  14. Programming By Coincidence AKA Debugger Driven Development

  15. Ping Pong Pair Programming

  16. Pair Programming Test-Driven Development Ping Pong Pair Programming

  17. 2. Write only enough production code to make the test

    pass 1. Create a failing unit test (not compiling counts as a failing test) 3. Refactor only when all unit tests are passing Ping Pong Pair Programming
  18. Nick Anthony Writes a failing test Makes the test pass

    Writes the next failing test Makes the next test pass Only when all tests pass either person can refactor Continue until both people agree there are no more tests to write
  19. Solutions

  20. I never get to type!

  21. Whenever I am driving my pair just looks at their

    phone.
  22. I can’t ever get into flow when pairing.

  23. None
  24. Talking about everything I’m doing will slow me down.

  25. None
  26. DEMO The Bill Payer App Allows users to view, manage,

    and autopay their bills
  27. USER STORY As a bill payer I want my mortgage

    bill paid on its due date or the first business day after its due date (when it falls on a non- business day), so that I can maximize the time that I keep my money in my account without incurring penalties
  28. Anthony https://youtu.be/WZsLNrnS4yk

  29. Nick https://youtu.be/WujNniqzf9U

  30. Anthony https://youtu.be/OoSvlJv24hE

  31. Nick https://youtu.be/Kl6UbPtJNGo

  32. Anthony https://youtu.be/kUkD_Ak6PLc

  33. Nick https://youtu.be/5VEuhMLS_Mk

  34. USER STORY As a bill payer I want my water

    bill paid on its due date or the first business day before its due date (when it falls on a non-business day), so that I can maximize the time that I keep my money in my account without incurring penalties
  35. Anthony https://youtu.be/6coH9P0Yuxg

  36. Nick https://youtu.be/CSzFSzsKaXM

  37. Anthony https://youtu.be/1gfihiwx8dw

  38. Nick https://youtu.be/4SfL6WWsCjo

  39. Nick https://youtu.be/1eFAMNBStCo

  40. Anthony https://youtu.be/P_u5OWjAcWo

  41. Try Ping Pong Pair Programming!

  42. CONTACT US! We love talking about Agile Software Development, XP,

    developer practices, helping development teams improve how they work and their code, etc. Nick Goede @ngoede ngoede@gmail.com http://nickgoede.com Anthony Sciamanna @asciamanna asciamanna@gmail.com http://anthonysciamanna.com Github Repo – Each Step of Ping Pong Pair Programming Demo https://github.com/asciamanna/ping-pong-pair-programming-talk