Evaluating the Efficacy of Test-Driven Development Industrial Case Studies

Author(s): T. Bhat and N. Nagappan
Venue: Proc. Int’l Symp. Empirical Software Eng. (ISESE 06)
Date: 2006

Type of Experiement: Survey/Multi-Case Study
Class/Experience Level: Professional

Quality
3

Methodology: TDD
Duration: 4 month
Company: Microsoft
Type of project: Windows Networking
# of developers: 6
project life: New
Team Language Experience: Experienced
Language: C++ and Java
Team Domain Experience: Experienced
Collocation: Collocated
Code Size (KLOC) New; Base; Total: 6, na, na
Junit code (KLOC): 4
Test/implementatoin code ratio: 0.66

Methodology: TDD
Duration: About 6 months
Company: Microsoft
Type of project: MSN
# of developers: 5 to 8
project life: New
Team Language Experience: Medium
Language: C++ /C#
Team Domain Experience: Medium
Collocation: Collocated
Code Size (KLOC) New; Base; Total: 26,na ,na
Junit code (KLOC): 23.2
Test/implementatoin code ratio: 0.89

There are multiple teams within Microsoft that employ TDD. There are some threats to validity that the study pointed out. One of them was that the developers that are using TDD might have been more motivated to produce higher quality code as they tried a new process which may have resulted in high quality code for TDD projects. Another threat was that this was a comparison between only two case studies from within the same organization which generalized but only taken as what it is. The study's outcome shows that in these cases, the quality was two times higher than the teams that adopted a non-TDD approach. However, additional time was needed upfront in order to utilize TDD.

0