Comparison of characteristics between the Agile model with other models are given below:
Agile model Vs Waterfall model:
Agile model | Waterfall model |
---|---|
The agile model is an incremental delivery process where each incremental delivered part is developed through an iteration after each timebox. | The waterfall model is highly structured and systematically steps through requirements gathering, analysis, SRS document preparation, design, coding, and testing in a planned manner. These phases of the Waterfall model follow a sequential order. |
While using an agile model, progress is measured in terms of the developed and delivered functionalities. | In the Waterfall model, progress is generally measured in terms of the number of completed and reviewed artifacts such as requirement specifications, design documents, test plans, code reviews, etc. for which review is complete. |
With the agile model, even if a project is canceled midway, it still leaves the customer with some worthwhile code, that might possibly have already been put into live operation. | If a project is developed using the waterfall model is canceled mid-way during development, then there is nothing to show from the abandoned project beyond several documents. |
The agile model allows to change the requirements after the development process starts, so it is more flexible. | The waterfall model is rigid, it does not allow to change requirements after the development process starts. |
Customer interaction is very high. After each iteration, an incremental version is deployed to the customer. | Customer interaction is very less. The product is delivered to the customer after the overall development is completed. |
The lack of proper formal documentation leaves ample scope for confusion and important decisions taken during various phases can be misinterpreted in fewer later phases. | In the Waterfall model, proper documentation is very important, which gives a clear idea of what should be done to complete the project and it also serves as an agreement between the customer and the development team. |
The agile team consists less members (5 to 9 people), but they coordinate and interact with others very frequently. | In the Waterfall model, teams may consist of more members but the interaction between them is limited. |
The agile model is not suitable for small projects as the expenses of developing small projects using it is more compared to other models. | This model is simple to use and understand but not suitable for developing large projects using the Waterfall model. |
The testing is done simultaneously with software development. | After the Build Step, testing is done. |
It is known for its versatility. | It is a systematic developing method, sometimes rigorous. |
Testing is generally carried out in conjunction with the development phase. | The test approach is rarely used in this method. |
Agile Model Vs Exploratory programming:
Agile model | Exploratory programming |
---|---|
The agile model is an incremental delivery process where each incremental delivered part is developed through an iteration after each timebox. | Exploratory programming is an approach to writing programs in an unstructured way. |
Agile teams, however, do follow defined and disciplined processes and carry out systematic requirements gathering, and rigorous design. | Exploratory programming does not follow the rules of software engineering and unstructured coding is done and tested. |
The central idea of the Agile model is to deliver an incremental version to the customer frequently after each iteration. | Whereas, after coding the software is tested and the founded bugs are fixed. This cycle of testing and bug fixing continues till the software works satisfactorily for the customer. |
Agile model Vs RAD model:
Agile model | RAD model |
---|---|
The Agile model does not recommend developing prototypes but emphasizes the systematic development of each incremental feature at the end of each iteration. | The central theme of RAD is based on designing quick and dirty prototypes, which are then refined into production-quality code. |
Agile projects logically break down the solution into features that are incrementally developed and delivered. | The developers using the RAD model focus on developing all the features of an application by first doing it badly and then successively improving the code over time. |
The Agile team only demonstrates completed work to the customer after each iteration. | Whereas RAD teams demonstrate to customers screen mocks up and prototypes, that may be based on simplifications such as table lookup rather than actual computations. |
The agile model is not suitable for small projects as it is difficult to divide the project into small parts that can be incrementally developed. | When the company has not developed an almost similar type of project, then it is hard to use the RAD model as it is unable to reuse the existing code. |
Agile model Vs Incremental development model:
Agile model | Incremental development model |
---|---|
The agile model is an incremental delivery process where each incremental delivered part is developed through an iteration after each time box. The main principle of the Agile model is to achieve agility by removing unnecessary activities that waste time and effort. | The requirements of the software are divided into several modules that can be incrementally developed and delivered. The core features are developed first and the whole software is developed by adding new features in successive versions. |
In the Agile model, the end date for an iteration is fixed, it cannot be changed. The development team may have to decide to reduce the delivered functionality to complete that iteration on time. | In the Incremental development model, there is no fixed time to complete the next iteration. |
Agile model Vs Spiral model:
Agile model | Spiral model |
---|---|
The main principle of the Agile model is to achieve agility by removing unnecessary activities that waste time and effort. | The main principle of the Spiral model is risk handling. |
The Agile model focuses on the delivery of an increment to the customer after each Time-box, so customer interaction is more frequent. | The spiral model mainly deals with various kinds of unanticipated risks but customer interaction is less. |
The agile model is suitable for large projects that are easy to divide into small parts that can be easily developed incrementally over each iteration. | The Spiral model is suitable for those projects that are prone to various kinds of risks that are difficult to anticipate at the beginning of the project. |
The agile model does not rely on documentation. | Proper documentation is required for the Spiral model. |