Advantages of pairing and TDD

Tom Dane

Research on pairing

  • Experiment at University of Utah.
  • Subjects were Senior Software Engineering students.
  • Needed to complete 3 projects.
  • Half paired, half worked alone.

Speed

With practice, pairing only 15% slower.

 

Bugs

Code written when pairing passed more tests

 

Tech debt

Pairs write less code!

 

Other benefits

Less knowledge loss when:

  • people are sick
  • on vacation
  • leave the company

Be pragmatic

  • Not suitable for every task.
  • Pairing is a skill, and takes time to learn.

 

Research on TDD

  • Studies done by IBM and Microsoft.
  • Teams worked with same product, language, and manager.
  • One team used TDD, one did not.

Results

  • Short term, teams using TDD were 15% - 35% slower.
  • But long term, much faster.
  • Why? Teams using TDD shipped between 40% and 90% fewer bugs.

"If it doesn't have to work, I can get it done a lot faster" Kent Beck, Inventor of TDD

 

Made with Slides.com