Software development life cycle provides a good understanding in software building process. A professional software engineer should have enough knowledge on SDLC based on project requirements and business analysis. It is, therefore, required to choose the best SDLC according to the specific concerns and requirements of the project to ensure its success. Several methodologies have evolved over the years including Waterfall Model, V-Shaped Model, Evolutionary Prototyping Model, Spiral Method (SDM), Iterative and Incremental Method and Agile development. Among them agile methodology is considered the best. However, it encourages fast and flexible changes through adaptive planning. It helps teams evolve landscape while keeping a focus on the rapid delivery of project. Moreover, in the Agile development, testing is done during the development cycle to make sure that the product is delivered in the desired state. It enables the product owner to perform changes if needed. Besides, in this method, automated testing process recognizes the problems early in the development. In this way, the quality and security of the project is maintained and the satisfaction of the clients is ensured.