By Geoffrey Weglarz
Introduction
 Throughout his career as a software developer and business
intelligence professional, Geoffrey Weglarz has gained exposure
to a broad range of software development models. Geoffrey
Weglarz and fellow software developers often employ a model
known as iterative software development, which places a
particular emphasis on small steps.
Like the linear waterfall model of software development,
iterative development typically begins with a detailed product
requirements document, but not as detailed as the waterfall
method, where all requirements for the entire project are defined
and documented upfront. And, unlike the waterfall model,
which deliberately moves from one step to the next, iterative
development employs a constant cycle of planning, design,
implementation, testing, and evaluation.
Iterative Software Development
 Software releases can be "time boxed" where certain features and
functions can be released to QA as fully implemented or with
most of the requirements in place. This way, the developer can
hand off the software to QA with documentation from which QA
can build their test cases. Software developers have a chance to
revise their work on a continuing basis, using knowledge they
acquired at previous stages of the software life cycle.
Iterative software also opens a number of doors for project
managers, who can exert a large measure of control over a project
and backtrack if they deem it necessary. However, if a poorly
planned iterative development project uses too much
backtracking, it can spiral out of control and have serious
consequences for the budget of the project. As such, quality
management is key in the iterative life cycle.

An Introduction to Iterative Software Development

  • 1.
  • 2.
    Introduction  Throughout hiscareer as a software developer and business intelligence professional, Geoffrey Weglarz has gained exposure to a broad range of software development models. Geoffrey Weglarz and fellow software developers often employ a model known as iterative software development, which places a particular emphasis on small steps. Like the linear waterfall model of software development, iterative development typically begins with a detailed product requirements document, but not as detailed as the waterfall method, where all requirements for the entire project are defined and documented upfront. And, unlike the waterfall model, which deliberately moves from one step to the next, iterative development employs a constant cycle of planning, design, implementation, testing, and evaluation.
  • 3.
    Iterative Software Development Software releases can be "time boxed" where certain features and functions can be released to QA as fully implemented or with most of the requirements in place. This way, the developer can hand off the software to QA with documentation from which QA can build their test cases. Software developers have a chance to revise their work on a continuing basis, using knowledge they acquired at previous stages of the software life cycle. Iterative software also opens a number of doors for project managers, who can exert a large measure of control over a project and backtrack if they deem it necessary. However, if a poorly planned iterative development project uses too much backtracking, it can spiral out of control and have serious consequences for the budget of the project. As such, quality management is key in the iterative life cycle.