Program theories often lay out causal mechanisms for how their activities are thought to achieve proposed goals. Sometimes, though, program theories assume that each step proceeds automatically to the next, ignoring contextual factors that may impede program action. Understanding a programs successes and failures requires going beyond simple causal mechanisms to investigate which facilitating and inhibiting factors are most significant. Explicitly augmenting a program theory with these factors provides a framework for detailed process evaluation, and program designs can be adjusted to capitalize on facilitating factors and mitigate inhibiting factors. We will practice identifying relevant facilitating and inhibiting factors and think about how an augmented program theory can inform evaluation design. Illustrations will come from an ongoing evaluation of the Community Knowledge Worker (CKW) program, a community-based farmer education program in rural Uganda. Participants are encouraged (but not required) to come with a program in mind for the practice exercises.