Agile principles have changed the game in recent times. Because of the feature-wise implementation and short sprints, delivery of the application becomes extremely faster. An end-to-end discussion on agile is out of the scope of this book; however, we will try to give a brief summary.
There are different phases in SDLC, and traditionally, all those phases are managed or executed in a sequential manner—the waterfall model. The problem with this model is that it is in sequence and a one-time activity; each phase takes a lot of time and changes are not easy. Feedback from the customer take so long that at the end of all the phases, we as developers are not sure whether we have implemented the same product that was intended and communicated by the customer or there was a communication gap. The ideal way to deal with this is to provide frequent delivery to the customer for a few features...