Friday, August 26, 2005

Test-Driven Development (TDD)

In a previous entry on agile product development, I mentioned that some companies that practice it employ "test-driven development" (TDD). With test-driven development, you plan and implement the tests for the product before you develop it.

The practice is most common in software development but works for all kinds of product development. One of the advantages of the practice is avoiding "drift". Drift is the tendency of product developers to lose sight of the requirements the product must satisfy. Collaboratively planning and implementing tests first ensures:
  1. The team understands the requirements.
  2. The requirements are testable (subject to the certain practical limitations).
  3. The team can apply the tests to the product continuously throughout development.
When you incorporate product management in the agile development of the product, you work closely with product testers to iterate on both the requirements and the tests.

No comments :