Extreme programming (XP) is a software development methodology, which is intended to improve software quality and responsiveness to changing customer requirements. As a type of agile software development, it advocates frequent "releases" in short development cycles, to improve productivity and introduce checkpoints at which new customer requirements can be adopted.
XP is a lightweight, efficient, low-risk, flexible, predictable, scientific, and fun way to develop a software. Extreme Programming was conceived and developed to address the specific needs of software development by small teams in the face of vague and changing requirements. Extreme Programming is perceived to be effective in smaller teams, with a team size up to 12-16 developers.
Before you start proceeding with this tutorial, we are assuming that you are already aware about the basics of Agile methodologies and Scrum. If you are not well aware of these concepts, then we will suggest you to go through our short tutorials on Agile and Scrum.