When program designers and implementers contact a program evaluator, they usually begin with a fairly straight-forward request—“We need to evaluate our program to determine if it worked.” On the surface the request seems simple enough, but it becomes complicated as soon as the program evaluator starts asking questions: “What program outputs do you expect?” “What ...