TyroCity

Discussion on: Software Development Strategies and what to consider while choosing what to use?

Collapse
 
ncitujjwal profile image
ncitujjwal

The main software development lifecycle are waterfall model, Iterative model, Spiral Model, RAD Model and Prototyping model. But these are popular and old traditional software development Lifecycle. Nowadays Agile is popular in worldwide the Scrum life cycle is most commonly used lifecycle model.

Waterfall is fist developed software life cycle model. It is also called as liner - sequential life cycle model. The water fall model is very simple and easy for use. In case of this model each phase must complete before the next phase can begin. There is no pipeline operation and in waterfall model we can’t overlap the different phases. This means we can’t do two operation at a time. We can’t design and test the software at a time. It is big disadvantage of waterfall model. So that it takes a long time for developing the software system. It is appropriate for short and small software development. In waterfall approach the whole process of software is divided into specialized phase these are requirement analysis, system design, implementing, testing, and deployment. Following situation the waterfall model is most appropriate are:

  • Project requirement are clear, fixed and well documented.

  • Technology is clearly understood and it remain same for at least certain years.

  • The product definition and stable

  • The project is short

The main disadvantage of waterfall model is it execute each phase one by one so for overcoming this the iterative model is introduced. In iterative model it develops a system through repeated cycle iteratively and in smaller portion at a same time. In here two phase are overlapping at a time. In Iterative approach the whole process of software is divided into specialized phase these are requirement analysis, system design and development, implementing, testing. In here two phase are overlapping at a time. The design and development operation is doing at a same time. In iterative model we can perform similar operation in many phase like phase1, phase2, and phase 3 at a time. Following situation the iterative model is most appropriate are (Maier & Amier, 2014):

  • The basic requirement of system is clearly documented and understood. The major requirement also clearly defined.

  • In this model is used in big project which takes long time for development. Because we can use this model in a new technology.

  • There are some high risk features and goals which may change in future.

The RAD model is similar to iterative model but in iterative model is continuously process until the project completion. But RAD model is little bit different, In Rad model first we develop a prototype and then we successfully testing the prototype. And testing of this prototype model then we only developed our main projects. In RAD model the whole process of software is divided into specialized phase these are Business Modelling, Data Modelling, Process modelling, Application generation, testing and turnover and prototyping. Finally, this model is based on prototyping and iterative development with no specific planning involved. This model has one disadvantage after prototyping it never takes feedback and maintain the system so the modification of RAD model is also called as Prototyping Model. In this model first analysis the project requirement then design a system and make a prototype and give this prototype to our customer and they test and check as per their requirement. After that they give some specific feedback and we update and review our system than finally develop the project. So this is one of the best SDLC model it enable to required customer requirements as an earlier stage of development then as per requirement they develop the prototyping. And it helps get valuable feedback from the customer and helps software designer and developers understand about what exactly is expected from product under development (Digru, 2005).

References
Digru, A. (2005). Modern Engineering Software concept. International Journals of Computer and Information Science .

Maier, E., & Amier, M. (2014). ANSI/IEEE ans System Engineering . IEEE .