
Go through Strategy for IT OFiicers exam here
SDLC Models
Waterfall Model
- Introduced by Winston Royce in 1970.
- Its a sequential, non-iterative design process, flowing downwards (like a waterfall).
- Different phases followed in order are as follows:
- Requirement Analysis - requirements are gathered from client and captured in a document.
- System Design - which programming language, databases to use and other technical details
- Implementation - the actual coding starts here!
- Testing - Unit test the product in dev environment, perform various other testings in quality environment and make sure code is bug-free.
- Deploy - Move the application/product to production environment (go live)
- Maintenance - Provide post production support, user training etc.
V Model
- In this model, SDLC and STLC (Software Testing Life Cycle) are integrated with each other i.e a testing phase corresponding to the development phase.
- Verification and Validation happens side by side as it is important to fix bugs in the early phases only to avoid huge costs later.
- Verification phases include:
- Requirements analysis
- System design
- Architecture design
- Module design
- Validation phases include:
- Unit testing
- Integration testing
- System testing
- User acceptance testing
- It is criticized for being rigid and only slightly differing from waterfall model.
Iterative/Incremental Model
- In this model, more than 1 iteration of SDLC is at work at same time i.e the project is built incrementally.
- At each iteration, design modifications are made and functional capabilities are added.
- Highest priority requirement is handled first and sub systems produce a final total system.
- It is mostly used in situations where an early demand of release is there, requirements are clearly understood and high-risk features are involved.
Spiral Model
- Introduced by Barry Boehm in 1986.
- Its a combination of waterfall and iterative model.
- Each phase begins with a design goal and ends with review by client.
- Additional functionality is added in increasing spirals until the application is ready.
- Main phases involved are as follows:
- Planning - estimate cost, schedule and resources.
- Risk analysis - finalize the risk mitigation strategy
- Engineering - coding, testing and deployment.
- Evaluation - Customer evaluation including time and cost over runs etc.
Agile Model
- Comparatively a newer one as in today's scenario, requirements keeps on evolving so adaptive planning and development are required.
- The product is developed in incremental, rapid cycles. Interactions among developers, customers and clients happen (daily scrum) so that everything is in sync while evolving.
- Some notable agile practices include:
- Domain drive design
- Continuous integration
- Scrum events
- Acceptance test driven development
- Velocity tracking
- One major advantage is that changes can be made at any time and disadvantage is that constant client interaction adds time pressure on all teams.
Prototyping
- In this model, a semi-functional simulation model of the actual system is made.
- Developers and clients interact to understand and freeze the basic requirements.
- Lessons learned from prototype are retained and used in subsequent development phases.




