Register now or log in to join your professional community.
First of all you have know the SDLC models in detail. The models are self explaining. In fact, what I think is the SDLC models choose the project/product and not the other way around.
Its depend on the nature of project and budget.
The right choice of SDLC depends on the nature of the project you are going to start, you can use either of the two:
WATERFALL:
Linear approach, fixed sequence of events (Requirements, Design, Code, Test, UAT etc).
Advantage:
Frozen requirements, Design before coding which makes integration of various components easy, Customer presence not required
DisAdv:
Frozen requirements exist only in virtual world and as the customer gets to see the deliverable quite late, he may not be satisfied with the end product.
AGILE:
Iterative, team based approach to development. Focus is more on delivering working software in short durations
Advantage:
Customer can see the deliverable end of every sprint and has a sense of ownership as he is always involved. Requirements can be changed anytime.
DisAdv:
The team needs to be self managing, colocation of team members makes the execution easier. As customer involvement is required, customer must give sufficient time to the project.
Now what to choose:
Agile:
Project size is small and less complex
Time to market is less
customer is involved throughout
Integration effort with external systems is less
Customer tolerance for scope and cost changes is high
WATERFALL:
Large and complex project
Customer not available extensively
Full featured product is required in market
Budget and schedule is fixed.