Iterative Development - Agile Characteristics
Iterative Development is an Agile methodology which emphasizes on repeated cycles of development and testing of a software application. Instead of building the entire application at once, the development is divided into smaller iterations, where each iteration results in a limited, but complete software function.
Syntax
Agile Development process starts with an initial planning stage.
Next step is a series of iterations that starts with identifying and prioritizing requirements.
Development team, customer and stakeholders agree on features that will be developed during the iteration.
Development team develops the features and testing is done to make sure they meet acceptance criteria.
Example
A team of developers is building an e-commerce web application. They first identify the necessary features and create a backlog, which includes smaller chunks of work that can be developed individually.
The team then prioritizes the features in the backlog and selects a few that can be developed within a 2-week iteration. They start development based on the agreed-upon features, and at the end of the iteration, they perform testing and evaluate the results.
Based on the feedback received from the testing, the team adjusts their backlog and selects new features to develop within the next iteration.
Output
The output of an iterative development process is a working software application with each iteration adding new features and functionality. The output is continuously tested and evaluated to ensure that it meets the customer's requirements and that the end product is of high quality.
Explanation
Iterative development is a process where a software application is developed incrementally through successive cycles of development and testing. Each iteration adds more features and functionality to the application based on the feedback received in the previous iteration.
The major advantage of Iterative Development is that it allows for greater collaboration between developers and stakeholders, as well as making it easier to manage change requests. By building the software iteratively, changes can be introduced at any point in the development cycle.
Use
Iterative Development is mostly used in Agile development processes when the requirements are unclear or change frequently. It provides an opportunity for the developers to fine-tune the software requirements and functionality based on feedback from the stakeholders and end-users.
Important Points
- Iterative development is an Agile methodology that emphasizes on repeated cycles of development and testing of a software application.
- It is important to identify the features and create a backlog, which includes smaller chunks of work that can be developed individually.
- Prioritizing the features in the backlog and selecting a few that can be developed within a limited time-frame is crucial.
- Development team develops the features and testing is done to make sure they meet acceptance criteria.
- The output is a working software application with each iteration adding new features and functionality.
Summary
Iterative Development is an Agile methodology where software is developed incrementally through successive cycles of development and testing. It allows for greater collaboration between developers and stakeholders, making it easier to manage change requests, fine-tune software requirements, and functionality based on feedback from the stakeholders and end-users. The output is a working software application with each iteration adding new features and functionality.