Iterative Project Methodology
Iterative methods describes the construction of subsets of functionality of a software project broken down into sub projects to help all those involved to uncover important issues early before problems or faulty assumptions can lead to disaster.
From a high level Iterative projects require more time to manage as the timeline and resources may be in flux from week to week and therefore require updating on a frequent basis. BUT because you have flexibility, not being locked into a Waterfall methodology, you have the ability to react very effectively to internal and external influences, allowing you to still deliver a solution that meets the businesses needs.
Iterative processes are preferred by developers because it allows a potential of reaching the goals of customers who do not completely know what they want, or more importantly what they NEED. Some of the key advantages of the Iterative Methodology are:
From a high level Iterative projects require more time to manage as the timeline and resources may be in flux from week to week and therefore require updating on a frequent basis. BUT because you have flexibility, not being locked into a Waterfall methodology, you have the ability to react very effectively to internal and external influences, allowing you to still deliver a solution that meets the businesses needs.
Iterative processes are preferred by developers because it allows a potential of reaching the goals of customers who do not completely know what they want, or more importantly what they NEED. Some of the key advantages of the Iterative Methodology are:
- Prioritization exercises can identify urgently needed functionality for early iterations
- 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
- Functionality can be rolled out in more managable stages, allowing for more streamlined training
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 consideration 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 iteration 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.
HELPFUL LINKS
Wikipedia
ACM
Previous page: Waterfall Project Methodology
Next page: Spiral Project Methodology