software testing journal ([info]testingsoftware) wrote,
@ 2007-12-15 16:39:00
Previous Entry  Add to memories!  Tell a Friend!  Next Entry
Agile development and testing
This is an extract from an article on Agile Development at InformIT

The trouble with phased development processes such as Waterfall is that teams typically spend many months working exclusively on each phase so that their feedback loops are too long. For example, only when the analysis is complete do they proceed to design, and only when the design is done do they move into the coding phase. Although exhaustive checks at the end of each phase attempt to validate the work, it is only during the testing phase that anyone actually knows whether the program meets its objectives. Therefore, the only real feedback about your work comes many months, even years, after it was completed. Waterfall treats software development like a production line, requiring perfection at each stage of the process. If there is any mistake or if the requirement changes during the process, the resulting software will not be correct. This may work when you're maintaining or adapting a mature software product, but not when you're developing new products in the face of changing or unknown requirements. In these sorts of circumstances, you need to increase the amount of feedback by drastically reducing the time between code creation and its validation.

The emphasis on perfecting a design before it is put into code results from people's fear that cost of change will rise steeply as the project progresses. In a traditional Waterfall project, this fear is justified because the long feedback loop between design and test means that any mistakes will result in a significant amount of rework. However, as Scott Ambler points out, in an Agile project, the feedback loop between design and test is very short, so mistakes can be corrected much more cheaply.

An Agile team eschews the whole idea of phases so that it can get valuable feedback continuously from the very start of the project by producing the only thing that really counts: working code. Indeed, by the end of the first week, many teams will have demonstrated running software to the customer with some feature that has business value. The price paid for this rapid delivery of working code is that the team doesn't produce thick documents or detailed models of the system. Instead, it just concentrates on writing the tests and code necessary to implement its customer's stories, as summarized on 6-by-4-inch index cards.

UK test manager job




Create an Account
Forgot your login or password?
Login w/ OpenID
English • Español • Deutsch • Русский…