• Code complete is a practical introduction to software craftmanship.

  • The pragmatic programmer is a good introduction to sound programming practices.

  • Clean code introduces quality software practices showcasing different examples and good principles from the agile world.

  • Extreme programming explained can be extremely useful to teams and developers embracing a more agile way of working for the first time.