
Anything by Ed Yourdon.
For general practical guides I'd look at one or both of:
* "Practices of an Agile Developer" http://amzn.to/9B7hJg, which talks about various practices in a fairly methodology independent way. The reason I really like it is that it has some excellent pointers for checking when adoption is/isn't working.
* "The Art of Agile Development" is another nice book http://amzn.to/bksP7T in a similar vein. This is more process-prescriptive though (they're talking about a varient of Extreme Programming)
I'd also also take the time to read the seminal books on the two most important (in my opinion) agile methods:
* Agile Software Development with Scrum http://amzn.to/bOkPZ1 - the book that formalized Scrum
* Extreme Programming Explained: Embrace Change - the book that formalized XP. Read both the first http://amzn.to/cdLAtx and second http://amzn.to/bqMhEa editions if you get a chance. They're interestingly different.
I'd also add the various books on Lean by Mary & Tom Poppendieck http://amzn.to/9wsASi and also 'Kanban' by David J Anderson to the list http://amzn.to/en6PQ2 as well.
You might also find these of interest:
* The Scrum Guide - http://www.scrum.org/Scrum-Guides
* The Agile Atlas - http://agileatlas.org/
* The Agile Alliance's Guide to Agile Practices - http://guide.agilealliance.org/
lots of useful info there ;-)
Agile and Lean are empirical process controls, they are based on the same concepts. Ken Schwaber explains all this on the first chapter of his book "Agile Software Development with SCRUM":
Defined process control: same inputs always result in same output (manufacturing widgets on a production line).
Empirical process control: same inputs not always result in same output.
Schwaber conceived SCRUM (and was among the founders of Agile) after realizing software development required an empirical process control: give 2 dev teams same specs, 2 different apps will come out (they might do the same thing, but in different ways)