Test Driven Development Presentation

Test Driven Development
Scott Bain, Net Objectives
Thursday, September 17, 2009
6:30pm – 8:30pm

Microsoft Research Building 99
Room 1919
14820 NE 36th Street
Redmond, Washington 98052

Download the presentation.

Test Driven Development

A paper first published in the Empirical Software Engineering journal reports: “TDD seems to be applicable in various domains and can significantly reduce the defect density of developed software without significant productivity reduction of the development team.” The study compared 4 projects, at Microsoft and IBM that used TDD with similar projects that did not use TDD.
As Test-Driven Development has gained in momentum and popularity, it has also been called into question as a viable development strategy past the first 3-4 iterations in Agile projects. Many report that the test suite generated by the process can become a maintenance problem in and of itself, eventually collapsing under its own weight
The problem: Unit testing can become a time consuming process, especially when systems are complex. Over time test volume often grows with older tests becoming obsolete, and maintaining them becomes increasingly unwieldy. Test design is often ad hoc without good measures of quality or coverage. This causes the tested application to become out of sync with the tests as there is no effective way to prove that the tests and the developed code meet the requirements stated in the specification. Changing the code base and test suite for the next enhancement becomes a nightmare with accelerating cost. Preserving ROI on the current code base is not sustainable over the long haul.
Scott has had to deal with all of these problems to help show companies how Test Driven Development when done rightcan create a maintainable test suite, provide a living specification going forward, and a code base that can change to meet the need of the business. This code base can be used effectively to form the basis for follow-on projects, preserving the ROI of the initial efforts. The test suite provides both the specification and validation of the requirements, which provides persistent value to the organization.

Scott Bain is a 30+-year veteran in computer technology, with a background in development, engineering, and design. He has also designed, delivered, and managed training programs for certification and end-user skills, both in traditional classrooms and via distance learning. Scott teaches courses and consults on Agile Analysis and Design Patterns, Advanced Software Design, and Sustainable Test-Driven Development. Scott is a frequent speaker at developer conferences such as JavaOne and SDWest. He is the author of Emergent Design: The Evolutionary Nature of Professional Software Development, now available from Addison Wesley/Pearson Education. He is currently writing Essential Skills for the Agile Developer. Scott works for Net Objectives which provides guidance in the form of consulting and training to help organizations transition into a more effective way of developing software.

Sep 17th, 2009 | Posted in Events
No comments yet.

Leave a comment

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>