Dreamhost Site Hosting     Dreamhost Site Hosting
ITERATIVE SOFTWARE DEVELOPMENT METHODOLOGY
Iterative methods prescribes the construction of initially small but ever larger portions of a software project to help all those involved to uncover important issues early before problems or faulty assumptions can lead to disaster. Iterative processes are preferred by commercial developers because it allows a potential of reaching the design goals of a customer who does not know how to define what he wants. Learning for future iterations comes in two forms:
  • Developers focus on learning from technical issues and improvements from previous iterations
  • Users look at functionality and can work to add to or improve usability in future iterations
In more conventional methodologies such as Waterfall, a project is built in phases: such as Analysis, Design, Build, QA, and Launch. In the Iterative Methodology, a team is built from each of the appropriate SME specialties (system analyst, business driver, developer, designers, QA manager...) and the team developed multiple iterations of the product for testing. These prototypes are evaluated, modified, and re-tested until they meet the business objectives. The ability to evaluate smaller components at an earlier time is what makes iterative development such as big gain over waterfall, where an issue or missing requirement can be hidden until the QA phase.

SMEs become integral throughout the entire project in Iterative projects, as opposed to Waterfall where they are utilized only in their specific phase but become a critical component in the evaluation recently launched iterations. This drives future iteration functionality.

One important consdieration to be mindful of is whether each iteration needs to be deployed to the public users of the product. Iterations can be build, tested, and evaluated and retained in a testing environment while the following iteration is developed. Another process invloves deploying each ietration for public use, when priority functionality is required by end users.

One form of software development documentation that many project managers and developers are familiar with is the Change Order. A change order is a form of iterative development as a client may request a specific set of changes or upgrades in a change order and each set of processes must be followed on the change order iteration.

SPIRAL SOFTWARE DEVELOPMENT METHODOLOGY >
All images and content © 2007 Simon Metz
Dreamhost Web Hosting
Dreamhost Site Hosting
adbright ads