What is SDLC, and how do the Waterfall, Spiral, and Agile models differ?
The Software Development Life Cycle (SDLC) is a structured process used to design, develop, test, and deploy high-quality software. Phases: Planning → Requirements → Design → Coding → Testing → Deployment → Maintenance.
- Waterfall: Linear and sequential; every phase must finish before the next begins. Best for small projects with fixed requirements.
- Spiral: Risk-driven and iterative; combines prototyping with systematic waterfall stages. Used in high-risk, large-scale mission-critical systems.
- Agile: Incremental and iterative; delivers working software in short cycles (Sprints) with continuous customer feedback. Standard across modern IT companies (TCS, Infosys, Accenture, Cognizant, Capgemini, and product firms).