Customer satisfaction plays a key role in the development and deployment of software products. Firms are seeking to embrace customer-centric techniques that will help them build valuable software in a short period while staying within their budget. One of the software development methodologies that help to fulfill changing customer requirements is the Agile Software Development methodology. This paper covers the basics of agile technique and multiple agile models, with a focus on Scrum.