Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Continual Code Review

Continual Code Review

A talk on Pair Programming given at Code Camp Wellington 2016.

Samson Ootoovak

April 01, 2016
Tweet

More Decks by Samson Ootoovak

Other Decks in Programming

Transcript

  1. The Hook You may have heard about continuous integration, continuous

    deployment, all the continuous things. @ootoovak 7 / 66
  2. The Hook You may have heard about continuous integration, continuous

    deployment, all the continuous things. But what about the continuous people stuff? @ootoovak 8 / 66
  3. Pairing! What is pairing even? Why am I talking about

    it? What does pairing have to offer? How do I even? Things to look out for. And some helpful quotes! @ootoovak 9 / 66
  4. Please tell me about pairing? In this talk when I

    say Pairing I mean Pair Programming. @ootoovak 10 / 66
  5. Please tell me about pairing? In this talk when I

    say Pairing I mean Pair Programming. Some people call it Peer Programming but most use Pair (as in two). @ootoovak 11 / 66
  6. Please tell me about pairing? In this talk when I

    say Pairing I mean Pair Programming. Some people call it Peer Programming but most use Pair (as in two). Pairing came out of Agile software development. @ootoovak 12 / 66
  7. Setup Equipment: One computer Sometimes, one mouse, one keyboard. But

    sometimes one mouse and keyboard each connected to the same computer. Big or dual monitors helps. @ootoovak 14 / 66
  8. Setup There are traditionally two people: One " driver "

    One " navigator " @ootoovak 15 / 66
  9. Driver Is the only person controlling the computer. They are

    typing in the code. @ootoovak 16 / 66
  10. Driver Is the only person controlling the computer. They are

    typing in the code. Or... looking up docs or error messages online. @ootoovak 17 / 66
  11. Driver Is the only person controlling the computer. They are

    typing in the code. Or... looking up docs or error messages online. Also, their focus is communicating their thoughts with their pair. @ootoovak 18 / 66
  12. Navigator The person thinking about what is going on and

    what is coming up. Not controlling the computer. @ootoovak 19 / 66
  13. Navigator The person thinking about what is going on and

    what is coming up. Not controlling the computer. They are trying to think understand what the driver is doing at all times. @ootoovak 20 / 66
  14. Navigator The person thinking about what is going on and

    what is coming up. Not controlling the computer. They are trying to think understand what the driver is doing at all times. Also, their focus is communicating their thoughts with their pair. @ootoovak 21 / 66
  15. Driver: Their focus is communicating their thoughts with their pair.

    Navigator: Their focus is communicating their thoughts with their pair. @ootoovak 23 / 66
  16. Driver: Their focus is communicating their thoughts with their pair.

    Navigator: Their focus is communicating their thoughts with their pair. @ootoovak 24 / 66
  17. “Communicate! If you have never paired before, always check in

    with your partner at the beginning, during and after.” Olivia Baddeley Developer, Flick Electric - @baddjuice @ootoovak 25 / 66
  18. That's pretty much it. There are a bunch of other

    rules suggestions about how to do it but I think it is largely up to your team, your pair, on what works best for all of you. @ootoovak 26 / 66
  19. “Think of it like rubber ducking, but the rubber duck

    responds to you, asks questions and points out things that you miss.” Cara Hill Developer, Rabid Technologies - @ilikeprettycode @ootoovak 32 / 66
  20. Types First lets quickly talk about types of pairing before

    we get into the how. @ootoovak 34 / 66
  21. Who are you pairing with? Because pairing involves other people

    (gasp!) who you are pairing with should be on your mind. @ootoovak 35 / 66
  22. “I can't Objective-C for jam, but we had a great

    session with him explaining Objective-C to me and me explaining patterns and things to him.” Ben Amor CTO, ShowGizmo - @shortmethods @ootoovak 36 / 66
  23. “Talk at the beginning and discuss expectations and what each

    person wants to get out of the experience.” Libby Schumacher-Knight Developer, Flick Electric - @schuknight @ootoovak 41 / 66
  24. “Embrace the awkward silence. If you wait an extra 30

    seconds, you might be surprised and delighted with what your pairing partner comes up with.” Raquel Moss Freelance Developer - @raquelxmoss @ootoovak 46 / 66
  25. Pairing does not mean grabbing the keyboard when you have

    an idea or understand some concept first @ootoovak 56 / 66
  26. “Be open-minded to what they say because they could get

    you out of a hole in a way that you weren't expecting.” Rob Edgecombe Developer, Axos Systems @ootoovak 61 / 66
  27. Wrap Up Pairing is not magic Work up to it

    Remember it's about the people Celebrate your wins @ootoovak 62 / 66
  28. “Appreciate each other or a high-five when the code works

    or when the tests go green” Vinitha Natarajan Developer, Rabid Technologies @ootoovak 63 / 66
  29. Special thanks: Olivia Baddeley Cara Hill Ben Amor Libby Schumacher-Knight

    Raquel Moss Rob Edgecombe Vinitha Natarajan @ootoovak 65 / 66