This document provides an overview of agile software development. It discusses the problems traditional software development methods can cause and how agile development aims to address these issues through iterative development and frequent delivery of working software. Key aspects of agile like Scrum, its roles, events and principles are explained. The advantages of agile are noted as well as some potential disadvantages.