Agile Model – Waterfall model had its own advantages but it had major drawback. Requirements used to get reviewed and finalized at the beginning of software development lifecycle – so it turned out to be cat when dog was expected. It led to client dissatisfaction. Agile solved this problem by introducing shorter release cycles in form of program increments and sprints. It had requirement gathering, design, coding & unit testing and system testing in each sprint. Sprint demo to customer also solved the dog turning cat in the end. However, Integration and Production deployment in the end led to many conflicts between development & Operations team and also issues in production release.