The process of developing software is all about bringing an idea to life. An impalpable creative concept in the head is converted into a practical and functional system. This transition, known as the software development life cycle (SDLC) is often an arduous one. It requires a lot of time, effort and most importantly the right skill set, before successful software is developed. The professional developers use different approaches to obtain the final software. Two of the most popularly known models are the Waterfall Model and the Spiral Model of software development. But in the last couple of years, the preference for spiral model has increased manifold. Both the clients and the vendors of software development services find it more convenient to take the spiral route.
For those who are still not able to discover the merits of going spiral, here are the three reasons why waterfall model is now obsolete:
Waterfall model is strictly linear
Like the force of gravity always pulls down, similarly the waterfall model will always proceed downward, from first step to second, to third, to fourth till last step. These steps are similar to the steps in spiral model. They are:
· Capture requirements from clients
· Layout and Design
· Code and program
· Integrate and functionalize the system
· Testing for bugs, errors
· Deliver to client
· Continued maintenance
In waterfall model, suppose if you have reached the testing stage, and you want to add some other codes and tweak the design, it won’t be possible. On the other hand, in the spiral model one can go back and re-visit and re-modify each step. The spiral model has such iterations, and we keep moving in a circular loop, going over all the steps, until we are convinced that we have got just the perfect software. So after the last phase is completed, it goes back to the step one, and again begins the entire process. The desired alterations are made and a quality check is performed during all iterations.
Waterfall model lacks client participation
The involvement of clients is limited to the first phase when they tell all that they need to the software development team. Once their requirements are captured, the development team takes complete charge of the work.
While the clients do get periodic reports about the status of completion of the development work, but they cannot intervene again in the stages of designing or coding and tweak the software. The spiral model however allows the client to advise the team in each phase of development and encourages their participation.
Therefore whenever the clients outsource software development, they should enquire which SDLC model the vendor will use. If the client doesn’t understand all the technical differences between various models, they should try to understand Spiral Model of SDLC in the Layman’s Language. And then make an informed choice. Many vendors like VSD prefer to use the spiral model as it guarantees complete satisfaction of the clients and develops the solution exactly as per their needs.