The Different Software Development Models…Continued – PART 2
4) The RAD Model :
The RAD or the Rapid Access model, as the name suggests was designed so that the customer can see a working model of the product quickly. It is very similar to the incremental model.
In the RAD model, the product is divided into components or smaller modules. Every module then goes through each phase of software development. Each of the modules is developed in parallel. A lot of automated code is used. Towards the end, each of the individual models is integrated to form the complete product.
The Phases In The RAD Model Are :
Requirements Gathering : The business requirement is stated and understood.
User Design : The product is sub divided into components and modules are identified. Prototypes are created for client approval. A plan for project implementation is created.
Implementation and Construction : Each module is developed. Stage wise development of the product takes place. Product documentation is also created in parallel. Code in the form of stored procedures, routines, etc are created and re-used.
Testing : The individual modules are tested and merged.
The RAD module should be used when the product under development can be broken into sub modules, which will be developed in parallel and then connected. The use of RAD module also calls for highly skilled developers.
Pros And Cons Of Using The RAD Model :
Pros :
1.Highly Cost effective.
2.Saves a lot of development time.
3.Defect rate is low as components are reused, which was already tested.
4.Customer gets to see the product early, in the form of prototypes.
The development team has to be very strong.
As automated code is highly used, the cost increases.
It can be used only for products that can be divided in sub modules.
5) The Agile Method :
In this method the product is developed incrementally. It is similar to the Incremental model. Each release of the product is developed on the previous releases.
Stages Of The Agile Model :
1.Kickoff
2.Sprint planning
3.Development
4.Testing and Demo
5.Deployment
Sprint planning, development and Testing and demo, occur per iteration.
The Agile method, should be used when future changes are anticipated. If the feature or technology used is relatively new. Since the product is developed in chunks, planning time is shorter and the development for the product can begin sooner.
Pros And Cons Of Using The Agile Method :
Pros :
Changes in requirements can be easily incorporated.
Shorter planning phases per iteration.
Product can be released to market early, with upcoming releases planned.
Cons :
Amount of effort required cannot be quantified at the start of the project.
A watch needs to be kept on the scope of the project.
Active involvement is required from all the participants of the project. This demands time and commitment. Testing team is also required throughout the project duration.
6) The Iterative Model :
In the iterative model, the team starts off with the product idea in mind and completes one full cycle of design, development and testing.
This is then reviewed, changes are planned and the whole cycle is repeated again to incorporate the changes. This is repeated till the product is ready as per user requirement.
Phases Of The Iterative Model Are :
-Design
-Develop
-Test
These 3 phases are repeated once in every iteration.
The Iterative model must be used when the project is big, and all the requirements are not completely understood.
Pros And Cons Of Using The Iterative Model :
Pros :
Defects are caught early in the development life cycle.
Cost effective.
Limited version of the product can be obtained early.
Cons :
Only HLD is known at the beginning of the project, hence effort cannot be accurately estimated.
Timelines can be lengthy.
7) The Spiral Model :
The Spiral model is similar to the incremental model and more suited for complex software projects. In this model much emphasis is laid on “risk-analysis”.
The Project Phases Are Divided Into :
-Planning
-Risk analysis
-Development
-Testing
The software under development repeated goes through the above phases in each cycle or spiral. In the initial spiral, the product may be only on paper or in the form of a prototype. Risks if any are noted down and alternative solutions are worked upon. The software is gradually built as each spiral progresses.
The Spiral model must be used when the risk evaluation is of utmost importance. For projects in which lot of research work is required, as they are relatively new in the market.
Pros And Cons Of The Spiral Model :
Pros :
Chances can be incorporated and the effect on cost is not very high.
Defects are caught early.
Software can be released early, with newer features planned for later releases.
Cons :
Very expensive model.
Risk analysis done in each spiral, calls for matter experts.
Read Part 1 of this article which describes the remaining software development models in detail.
We at Satej Infotech use these models during our Software Application Development Process.
Contact us today to discuss your requirements.