Adaptive Software Development: a Collaborative Approach to Managing Complex Systems. James Highsmith, Dorset House, 2000.

This book describes an adaptive development cycle, which includes a number of “learning loops”, each including speculation, elaboration and learning. I particularly like his emphasis on focusing all decisions around the project's mission and using that mission as a way of continually asking are we on the right track?