Extreme Programming Explained by Kent Beck & Cynthia Andres