This document provides an overview of agile processes and extreme programming (XP). It defines agility as effective response to change through communication among stakeholders and involving customers on the development team. Principles of agile processes include customer involvement, embracing change, incremental delivery, simplicity, and valuing people over processes. Extreme programming is described as one of the most widely used agile methods, with planning beginning through user stories, estimating costs, grouping stories into deliverable increments, and committing to delivery dates.