Hi Coolsnipster
Check out www.stickyminds.com. While it is a site more dedicated to software testing, it will give you a good insight in to your question.
HTH
Regards
Devesh
Waterfall Approach:
Advantages:
1. Reflects engineering practices
2. Stays in place long-term
Disadvantages:
1. Iterations become costly
2. Inflexible
Evolutionary Approach:
Advantages:
1. Meets the immediate needs of the customer
2. Specification can be developed incrementally
Disadvantages:
1. The process is not visible
2. Systems are often poorly structured
3. Special tools and techniques may be required
As a general rule, long-term projects are better off using the waterfall approach because the project is broken up into concentrated phases where special attention is given to each phase. Short-term projects are better suited by the evoutionary approach because of the need for a faster response to changes.
Some projects may even use a mix like using the waterfall approach for the project phases and using the evolutionary approach for the more flexible tasks within the project such the user interface.
- Paraphrased from "Software Engineering" by Ian Sommerville
Hi, since I am not aware how depth is your understanding on these lifecycle models, I guess this site is simple to understand and would be helpful. http://www.levela.com/software_life_cycles_swdoc.htm
I would recomend that before looking for a specific model for software development, the process be analyzed and the development be tailored to the complexity (or simplicity) of the process.
Using a specific model (see Kanada's reference) a priori is probably more of a hinderance than helpful.
My experience is that all developments have some adaptations early in its lifecycle untill they stabilize, due to incomplete analysis by the developers and incomplete understanding of the process by users. As the system develops both increase their knowledge and thus their understanding of the process. This must be accounted for!.
A lot depends on commitments and time compression. If you have a very big project to do in some very compressed period using a lot of resources, you pretty much have to go with (maybe over)the "waterfall." If you can work more organically and modularly - typically with fewer resources but working steadily over more time, a more evolutionary process works better. If you have a choice, the latter is better.
Waterfall model is suitable for small projects whereas Evolutionary model is not suitable with small projects. In Waterfall model, when the application is in testing process it become very difficult to go back to previous stage for making changes in it. But in Evolutionary model it is easy to switch
back to previous stage for making changes in it.
Waterfall is an age old phenomena and is being mostly replaced by iterative or evolutionary model. Former is useful only where there is zero percent scope of change in customer or business requirement once it is finalized prior to project start. Latter gives ample scope of changes in the business model of customer requirements before every iteration starts. Customer engagement is high in latter.
Free Guide: Managing storage for virtual environments
Complete a brief survey to get a complimentary 70-page whitepaper featuring the best methods and solutions for your virtual environment, as well as hypervisor-specific management advice from TechTarget experts. Don’t miss out on this exclusive content!
Discuss This Question: 8  Replies