2. 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.
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.