Kent Beck - Extreme Programming Explained: Embrace Change