Iterative model is a representation of a combination of both iterative method and incremental build model. Both these development methodologies together make up the iterative model. With the iterative model, it has been possible to have more than one iterations of software development at the same time.
The approach thus followed by this model is often referred to as incremental build approach and evolutionary acquisition.
What is Iterative Model?
– Software development process and software development methodology together depict the relationship that exists among the increments and iterations.
– However, the nature and number of a particular type of incremental build depends up on the development effort of each and every individual.
– The initial planning is the first stage which then plunges the entire process in to iterations and increments involving the stages such as planning, requirements, analysis and design, implementation, testing, evaluation and the process exits out with the deployment phase.
– This model is often considered to be the essence of the rational unified process, modified waterfall models, extreme programming, various agile software development frame works and so on.
– Business process improvement model follows a process called ‘plan – do – check – act’ cycle which is also implemented by this iterative model.
– The basic idea of a typical iteration in agile project management is to put three things together namely plan, collaboration and product delivery in an iterative process.
– In such iterative processes, the system takes its final form in the form of smaller portions at a time which are commonly referred to as increments.
– In such a process, the developers can seek an opportunity to put in to use what they learnt in the previous stages of the system.
– Also, in an iterative model the learning is a two way process i.e., one gains knowledge both from the use as well as development of the software system or application.
– The process begins with implementation of a simple sub set of the requirements and continues till the whole software system is implemented through iterative enhancement of the evolving versions.
– At each iteration, the evolving version witnesses the addition of some new functional capabilities and modifications in its design.
The procedure followed by the iterative model is said to consist of three main parts as stated below:
1. The initialization step
2. The iteration step
3. The project control list
– The first part i.e., in the initialization step witnesses the creation of a base version for the system that is to be developed.
– The initial implementation is carried out keeping in mind that the product should be meaningful to the user and the user should be able to react to it.
– Such a solution and key aspects of the problem should be provided by the product which the user can understand and identify with.
– The project control list takes care of the second part of the procedure i.e., the iteration step with the help of the record of all the tasks that it contains.
– The tasks it includes mainly consist of areas of the software system or application that need to be redesigned and new features that are yet to be implemented.
– In the analysis phase the revision of this project control list is done from time to time.
– The goal of the design and implement for every iteration must possess the following characteristics:
4. Redesign and implementation supportive of a task
– The extent of detailing the design of the software system or application is not determined by this iterative approach.
– The projects which build up on light weight iterations use the code itself as a major source of documentation for the software system or application.
– But same is not the case with the critical iterative projects rather they make use of a formal software design document.
– The iterations are analyzed based up on the following two things:
1. User feedback
2. Program analysis facilities.
The analysis involves the following things:
1. Analysis of structure
6. Achievement of goals