Definition

iterative development

Iterative development is a way of breaking down the software development of a large application into smaller chunks. In iterative development,  feature code is designed, developed and tested in repeated cycles. With each iteration, additional features can be designed, developed and tested until there is a fully functional software application ready to be deployed to customers.

Typically iterative development is used in conjunction with incremental development in which a longer software development cycle is split into smaller segments that build upon each other.

Iterative and incremental development are key practices in Agile development methodologies. In Agile methodologies, the shorter development cycle, referred to as an iteration or sprint, is time-boxed (limited to a certain increment of time, such as two weeks). At the end of the iteration, working code is expected that can be demonstrated for a customer.

Iterative development contrasts with a traditional waterfall method in which each phase of the software development life cycle is “gated.” Coding doesn’t begin until design of the entire software application is complete and has gone through a phase gate review. Likewise, testing doesn’t begin until coding is complete and has passed necessary phase gate reviews.

The purpose of working iteratively is to allow more flexibility for changes. When requirements and design of a major application are done in the traditional method (sometimes referred to as BDUF or Big Design Up Front), there can be unforeseen problems that don’t surface until development begins. By working iteratively, the project team goes through a cycle where they evaluate with each iteration, and determine what changes are needed to produce a satisfactory end product.

Contributor(s): Yvette Francino
This was last updated in November 2011
Posted by: Margaret Rouse

Email Alerts

Register now to receive SearchSoftwareQuality.com-related news, tips and more, delivered to your inbox.
By submitting you agree to receive email from TechTarget and its partners. If you reside outside of the United States, you consent to having your personal data transferred to and processed in the United States. Privacy

Do you have something to add to this definition? Let us know.

Send your comments to techterms@whatis.com

There are Comments. Add yours.

 
TIP: Want to include a code block in your comment? Use <pre> or <code> tags around the desired text. Ex: <code>insert code</code>

REGISTER or login:

Forgot Password?
By submitting you agree to receive email from TechTarget and its partners. If you reside outside of the United States, you consent to having your personal data transferred to and processed in the United States. Privacy
Sort by: OldestNewest

Forgot Password?

No problem! Submit your e-mail address below. We'll send you an email containing your password.

Your password has been sent to: