This is one of the sequential activity centered models. All of the software development activities are performed in sequence and there is no iteration. All requirements for one activity are completed and reviewed before the next activity starts. The goal is to never turn back once an activity is completed.
This model is quite easy to understand by each of the parties involved in the process.
However, due to its sequential nature, this model is not capable of dealing with iterations and evolutions. It can't deal with changes and problems that arise during one of the activities since it does not consider a second iteration in one stage. Furthermore, tests aren't mapped to the corresponding activity. Once a phase has been considered complete the results are not going to be changed and are used as input for the next phase. Most of the time, this is too rigid.
Once a project is cancelled, no prototypes or solutions are present that could be reused since the whole development process has to be aborted once a problem is found that had to be dealt with in an activity before the problem arose. The whole development process is lost and no money can be made out of single components or modules that were already developed.
The waterfall development model has its origins in the manufacturing and construction industries; highly structured physical environments in which after-the-fact changes are prohibitively costly, if not impossible. Since no formal software development methodologies existed at the time, this hardware-oriented model was simply adapted for software development.
No comments:
Post a Comment