Manager's Introduction to Test-Driven Development

room: Civic South, 2 — time: Wednesday 16:00-17:30
Average Rating: -

The purpose of this session is to help non-technical project managers understand the business value of one of the popular agile software development techniques. It is designed to help project managers understand the impact on their projects when their technical teams use the agile technique, test-driven development (TDD).

Audience: (1) Project managers working with agile development teams, and (2) technical agile practitioners looking for arguments to convince their management that agile methods are worthy of adoption.

We begin by demonstrating the technique of TDD using a tool familiar to nearly all project managers: Microsoft Excel. Clarke Ching developed a TDD exercise using Microsoft Excel that many others have used as the basis for demonstrations and presentations on the subject. We use this exercise to demonstrate the red-green-refactor TDD cycle with a tool familiar to nearly all project managers so that they can see what the buzzword means and get a feel for the technique. This is followed by a presentation focusing on the effect of TDD on project timeline, code quality, cost of development, cost of ownership/support, and longevity of the code in production. The core of the message is that TDD helps a team control the accumulation of technical debt in the codebase, and this in turn controls costs, reduces time to market, and results in a cleaner product that will have a longer production lifetime.

A copy of Clarke’s Excel exercise and our presentation slides are available from http://davenicolette.wikispaces.com/TDD+for+Managers. There are also notes from past presentations of this session.

Karl and Dave gave this presentation at Agile 2007 to an audience of about 15 people, all(?) of whom were non-technical project managers. Dave gave the presentation at XP Days Germany 2007 to an audience of about 40, of whom at least 30 were technical professionals who were looking for business-focused arguments to make with their own management to support the idea of trying agile methods at their companies. The session can be useful to both types of participants.

Agile methods are not usually applied in isolation, and this presentation always generates discussion that leads into the value proposition of other agile practices and of agile generally. Talking about the business value of TDD naturally leads to closely-related practices and tools such as version control and continuous integration. The session can be a good way to break the ice with managers who are new to agile concepts, since it gives them something concrete they can play with to get a sense of the value.

Process/Mechanics

The 90-minute time slot is divided into three 30-minute segments:

(1) Very brief intro followed immediately by the live demo. Participants are welcome to follow along on their own laptops, too.

(2) Talk with slides explaining the business value of TDD in terms of its effect on project timeline, development cost, cost of ownership of the resulting solution, and longevity of the resulting solution.

(3) Interactive discussion period. Any and all issues related to the business value proposition of agile are welcome.