MAC: Prototype of a Tool Linking Program Designs and Local Conditions

I spent a good part of last year on a UK-funded project on “absorptive capacity” — which I think too many people in the international development community still think of as “why can’t poor people spend our money better?” Our answer to that, though this research, was basically: “Because we keep asking them to do stupid things with it!”

The research focused on the security and justice sectors (because that was the funder’s key concern) but the findings apply to international development and peacebuilding more generally. The objective was to “develop a method for identifying and overcoming constraints on the capacity to absorb aid in the security and justice sectors and thereby improve the fit between program design and local conditions. … Rather than discovering during implementation that some aspect of an intervention is locally infeasible, [this prototype] is designed to field-test a detailed model of the intervention to discover such problems before implementation.”

In other words, we all know it’s important to understand local conditions, but we keep designing programs and projects that don’t actually account for them. That’s at least in part because people designing them don’t always understand their own institutions’ limitations and in part because most planning processes are linear: assess, design, implement, evaluate. You don’t discover if the project design worked until it’s finished.

Our tool is designed for iterative planning: build a model of the project design (not a linear theory of change but one that accounts for dynamic interactions among key factors) and sanity-check it in the field before revising and retesting. The key bit is that this tool makes planners explicitly identify the assumptions (we call them “prerequisites”) that would need to be true in order for the project design to succeed, then go out to the field to see if those prerequisites are actually present. If they’re not, then the project needs to be redesigned iteratively until it matches what’s actually possible.

The key publications are here: