Test-First Programming (TFP) and its sometimes more known related practice Test-Driven Development(TDD) are not very usual for the traditional software development cycle. Test-driven development simply means creating tests before writing the code they are supposed to test. A canonical test-driven cycle is as follows:
Test-first programming is the extension of TDD to the whole attitude to the software development. TFP means that whenever there is a need for changing the software on any level, it is better done in the small completed chunks and every change should be accompanied with the corresponding acceptance criteria. On the code level it means test-driven development, on higher level it means working in small user stories verifiable by the acceptance tests, ideally by the executable acceptance tests.
The point of both TDD and TFP is in making the change specification being not a bloated document, but small, as concrete and visible as possible. Test-First Programming is certainly a no silver bullet in the software development, but when applied diligently is one of the most effective elements in the agile toolbox. A concrete, small and ideally executable specification is a good aid against programming by coincidence.
Links
This page is a part of the Extreme Programming overview
Comments
Post new comment