Assessing test-driven development at IBM

  title={Assessing test-driven development at IBM},
  author={E. Michael Maximilien and Laurie Ann Williams},
  journal={25th International Conference on Software Engineering, 2003. Proceedings.},
  • E. M. Maximilien, L. Williams
  • Published 3 May 2003
  • Computer Science
  • 25th International Conference on Software Engineering, 2003. Proceedings.
In a software development group of IBM Retail Store Solutions, we built a non-trivial software system based on a stable standard specification using a disciplined, rigorous unit testing and build approach based on the test-driven development (TDD) practice. Using this practice, we reduced our defect rate by about 50 percent compared to a similar system that was built using an ad-hoc unit testing approach. The project completed on time with minimal development productivity impact. Additionally… 

Figures from this paper

On the Effectiveness of Unit Test Automation at Microsoft
Results indicate automated unit testing is beneficial but additional quality improvements may be realized if the tests are written iteratively, as is done with the test driven development practice, for a similar time increase.
Introducing Test Automation and Test-Driven Development: An Experience Report
Introducing Software Test Automation and Test-Driven Development : An Experience Report
An approach to software component-level testing that in a cost effective way can move defect detection earlier in the development process and decreases the development leadtime significantly is presented.
Continuous Test-Driven Development - A Novel Agile Software Development Practice and Supporting Tool
In this article, the CTDD practice and the tool that is intended to use to support and evaluate theCTDD practice in a real world software development project are described and described.
Evaluation of Test-driven Development - An Industrial Case Study
A development project carried out in a company is presented in which some of the claims of the test-driven development approach are found to be valid, but there are also difficulties with applying the approach.
The effectiveness of test-driven development: an industrial case study
The results indicate that the TDD developers produced higher quality code that is easier to maintain, although the productivity of the developers did observe a reduction in productivity.
Evaluation of Test Driven Development
Several claims concerning Test Driven Development are evaluated in this thesis by executing a case study and focus of this evaluation is on the usability of TDD, satisfaction of the stakeholders and the quality of the product.
A successful application of a Test-Driven Development strategy in the industrial environment
  • R. Latorre
  • Business
    Empirical Software Engineering
  • 2013
The main conclusions drawn from this project are that ATDD contributes to clearly capture and validate the business requirements, but it requires an extensive cooperation from the customer; and that UTDD has not a significant impact neither on productivity nor on software quality.
On the Sustained Use of a Test-Driven Development Practice at IBM
A post hoc analysis of the results of an IBM team who has sustained use of TDD for five years and over ten releases of a Java-implemented product indicates that the TDD practice can aid in the production of high quality products.
The Impact of Test Driven Development on the Evolution of a Reusable Framework of Components – An Industrial Case Study
An empirical study of a framework of reusable components used in building new applications and provides services to these applications during runtime shows benefits in terms of reduced mean defect density, when using TDD, over two releases.


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.
Extreme programming explained - embrace change
You may love XP, or you may hate it, but Extreme Programming Explained will force you to take a fresh look at how you develop software.
Automated Software Testing: Introduction, Management, and Performance
This chapter discusses the development and management of Automated Testing in the Systems Engineering Environment, and the role of ATLM in that environment.
Experiment about test-first programming
It turns out that test-first does not accelerate the implementation, and the resulting programs are not more reliable, but test- first seems to support better program understanding.
Applying 'design by contract'
Methodological guidelines for object-oriented software construction that improve the reliability of the resulting software systems are presented and the theory of contract design and the role of assertions in that theory are discussed.
Test-driven Development - by example
  • Kent L. Beck
  • Computer Science
    The Addison-Wesley signature series
  • 2003
Drive development with automated tests, a style of development called “Test-Driven Development” (TDD for short), which aims to dramatically reduce the defect density of code and make the subject of work crystal clear to all involved.
Software Engineering Economics
  • B. Boehm
  • Computer Science, Economics
    IEEE Transactions on Software Engineering
  • 1984
The field of software cost estimation is surveyed, including the major estimation techniques available, the state of the art in algorithmic cost models, and the outstanding research issues inSoftware cost estimation.
UML Distilled
  • 2000