Wednesday, June 16, 2010

Comparison of 3 SDLC Models

There are many Software Development Life Cycle (SDLC) models that can be followed in Project Development. For this post, I am going to compare and contrast three of the more commonly used models - waterfall, spiral, and rapid prototyping - in terms of time, budget, and functionality.

Waterfall Model



The waterfall model is the most popular and simplest of all SDLC models. It contains a series of straightforward steps towards achieving the project's goal. The waterfall model, like almost any other software development model, begins with the Planning phase, followed by the Analysis phase, then by the Development phase, Testing phase, and Acceptance phase.

The main characteristic of the Waterfall model is that the output of one process serves as input to the next and there is no way to go back to the previous phase for verification. And because of the fact that system requirements change indefinitely during the whole life cycle, this model is best used for projects that require a shorter time to develop or for projects where the people are already experts in the type of system to be developed. This is to prevent the need for going back to previous phases for verification from ever arising.

Because of these characteristics, this model may require a high budget for bigger or longer projects. In terms of functionality, the end product would be static as there is no way to go back upstream.

Spiral Model


There are many variations of the spiral model but I think that the figure above is the best and simplest way to illustrate how the spiral model works. This model follows the same steps as the waterfall model, however, it provides a way to go back to the previous phases in order to verify the requirements. It introduces an iterative approach to the traditional Waterfall model to allow for changing requirements.

The Spiral model goes through Planning through Testing phase then goes back to Planning to modify the system according to feedback provided by the client/users. It repeats this pattern until the system is ready for installation and acceptance.

In terms of budget, this model may still require a high budget because of the additional management complexities incurred by the iterative process. The time required for this model is long term because it accommodates changing requirements and because of this, the system created is dynamic.

Rapid Prototyping

Rapid prototyping has advanced greatly over time in terms of its approach to software development or any project development for that matter. As its name implies, rapid prototyping provides the end users with a live, working prototype of the end product so they can get an early feel of it. Like the spiral model, rapid prototyping supports changing requirements and these changes are reflected on the new prototypes that are developed based on users' feedback of the previous ones.

Some software are already available for the fast production of prototypes and, in manufacturing, advanced equipment are available to produce working 3D prototypes of their future product.

A disadvantage of this model is also the high budget requirement to produce the prototypes. However, it does not take as long to come up with results as the other two models. Furthermore, it is able to produce a dynamic system that allows for changing requirements.

3 comments:

  1. Also check out the creative commons SDLC wiki over at http://OpenSDLC.org

    ReplyDelete
  2. wrong diagram of spiral model

    ReplyDelete
  3. For more clear and elaborate information check out this tutorial website - http://www.sdlc.ws

    ReplyDelete