• Publications
  • Influence
Strengthening the Case for Pair Programming
It is demonstrated that using pair programming in the software development process yields better products in less time-and happier, more confident programmers. Expand
Evaluating Complexity, Code Churn, and Developer Activity Metrics as Indicators of Software Vulnerabilities
This work investigated whether software metrics obtained from source code and development history are discriminative and predictive of vulnerable code locations, and predicted over 80 percent of the known vulnerable files with less than 25 percent false positives for both projects. Expand
The costs and benefits of pair programming
Pair or collaborative programming is where two programmers develop software side by side at one computer. Using interviews and controlled experiments, the authors investigated the costs and benefitsExpand
Pair Programming Illuminated
This book describes the technique of pair programming from many perspectives and offers ideas to help enhance the pairing and solutions for most problem pairings; not all pairs will work and the book provides ways to recognize the potential problems before they happen. Expand
Essential communication practices for Extreme Programming in a global software development team
An industrial case study of a distributed team in the USA and the Czech Republic that used Extreme Programming suggests that, if critical enabling factors are addressed, methodologies dependent on informal communication can be used on global software development projects. Expand
Improving the CS1 experience with pair programming
An experiment was run to assess the efficacy of pair programming in an introductory Computer Science course; results indicate that pair programming creates a laboratory environment conducive to more advanced, active learning than traditional labs; students and lab instructors report labs to be more productive and less frustrating. Expand
An initial investigation of test driven development in industry
It is found that the TDD developers produced higher quality code, which passed 18% more functional black box test cases, however, TDD developer pairs took 16% more time for development, which supports that TDD has the potential of increasing the level of testing in the industry. Expand
What agile teams think of agile principles
  • L. Williams
  • Engineering, Computer Science
  • CACM
  • 1 April 2012
Even after almost a dozen years, they still deliver solid guidance for software development teams and their projects.
All I really need to know about pair programming I learned in kindergarten
Pair programming is a practice in which two programmers work side-by-side at one computer, continuously collaborating on the same design, algorithm, code, or test. This method has been demonstratedExpand
A structured experiment of test-driven development
Experimental results tend to indicate that TDD programmers produce higher quality code because they passed 18% more functional black-box test cases and took 16% more time, which supports the perception thatTDD has the potential for increasing the level of unit testing in the software industry. Expand