A seminal book on Theory of Change. This book manages to provide a comprehensive introduction to program theory and its relation with Theory of Change and Theory of Action.
It explains the history of Program Theory, relating to your specific circumstances, developing and representing program theory (combining the process with Theory of Change, Theory of Action, representing your Theory of Change and Theory of Action and critiquing your theory), necessary resources for Theory of Change and logic models, and, finally, using Program Theory (including Theory of Change) for Monitoring & Evaluation and causal inference.
The book has a wealth of clear examples from various sectors and different contexts and is very helpful in clarifying some recurrent debates on planning and M&E terminologies.
You can find a link to excerpts from the book here. A review can be found here.