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

Goodbye Code Review, Hello Pair Programming

himaratsu
December 01, 2020

Goodbye Code Review, Hello Pair Programming

presentation at Appdevcon 2020
https://appdevcon.nl/session/good-bye-code-review-hello-pair-programming

---

Summary:

Code review is a good method to maintain a high code quality. However, there are some concerns that are introduced when this method is used too often.

For example, many members would request their code reviews to their lead engineers, which ends up having their lead engineers to shoulder more burden.

Besides, it takes up a lot of effort to communicate with the reviewer, and code reviews are often returned with many corrections, which is sometimes time-consuming. The solution to this problem is pair programming.

In this session, we would like to explain about pair programming, and share how we make use of it with TDD in our daily development.

himaratsu

December 01, 2020
Tweet

More Decks by himaratsu

Other Decks in Programming

Transcript

  1. Our team • C2C e-commerce app • 6 iOS developers

    • released the app 8 months after formed • 5,000,000 DLs • developing with pair programming
  2. Pair Rotation • develop 1 feature per 1 pair •

    1st day: A and B develop jointly 1 2 3
  3. Pair Rotation • develop 1 feature per 1 pair •

    1st day: A and B develop jointly • 2nd day: A remains and B rotates
 1 2 3 
  4. Pair Rotation • develop 1 feature per 1 pair •

    1st day: A and B develop jointly • 2nd day: A remains and B rotates • 3rd day: A rotates 1 2 3
  5. Pair Rotation • develop 1 feature per 1 pair •

    1st day: A and B develop jointly • 2nd day: A remains and B rotates • 3rd day: A rotates Avoid relying on individual abilities. Share know-how with the team. 1 2 3
  6. TDD • Failing test • Implementation code to pass the

    test • Refactor the code RED GREEN Refactor
  7. TDD • Failing test • Implementation code to pass the

    test • Refactor the code Keep the rhythm of pair programming RED GREEN Refactor
  8. Demo • Simple app making demo • No documents •

    test code = specification • concentrate on coding
  9. Demo • Simple app making demo • No documents •

    test code = specification • concentrate on coding • Always teaching • Util class, shortcuts, and etc…
  10. Number of releases 0 10,000 2,500 5.000 7,500 1,173 1,185

    2,829 8,221 Number of Releases Project A B C Our Project (Pair Programming)
  11. Acceptance failure rate 0% 20% 5% 10% 15% Project A

    B C Our Project failure rate 11.3% 13.5% 8.6% 0.1% (Pair Programming)
  12. Recap of pair programming • 1 code with 2 people

    • more effective with pair-rotation and TDD
  13. Recap of pair programming • 1 code with 2 people

    • more effective with pair-rotation and TDD • always develop with feedback

  14. What I felt from experience • Always talk. A lot

    of communication • Communication brings respect and understanding • Essential for creativity of the team
 Respect High quality products Communication