Implications of Market Systems for Project Design

December 2, 2014

Two ideas that I find interesting about designing market systems1 activities relate to the analysis of the problem upfront and dynamic programming.  

While constraint or problem analysis is key to value chain project designs, not much attention has been paid to what we do differently within the context of market systems. Those of us involved in project design need to understand how the market system functions and the underlying causes of under-performance. But how does a market systems perspective change the way we reach these understandings? Do we have effective tools for analyzing (1) system boundaries, (2) the inter-connections with other systems, (3) the nature and complexity of relationships among system actors, (4) the formal and informal rules governing the system, and (5) knowledge and information flows—e.g., where knowledge, information, and skills currently are and/or could be exchanged? Moreover, where tools do exist, do we lack sufficient experience in using them?

I listened to a webinar last week led by a Massachusetts Institute of Technology (MIT) engineer, Ali Mostashari, who talked about problem analysis within the context of complex systems and the importance of understanding the causes and effects within a system. He noted that these causes and effects can set off reinforcing loops2 that lead to exponential change in a given direction, or they can result in balancing loops3 that lead to stagnation. Is this kind of thinking new for our industry, and might it be helpful in scaling innovations? Don’t we more often focus our analysis on the constraints in a system at a given point in time rather than on understanding how market systems respond to particular “causes” or events? Analyzing system dynamics may be another area in which we need new tools.  

Dynamic ProgrammingDynamic programming is the second idea that I wanted to discuss. The U.S. Agency for International Development’s (USAID’s) Office of Transition Initiatives (OTI) has been doing dynamic programming for some time. OTI sees fluidity between analysis, intervention design, and monitoring, describing them as activities that are ongoing throughout a project and used to adjust interventions to changing circumstances in a dynamic environment. OTI’s dynamic programming aligns well with the Cynefin4 framework’s strategy for intervening in a complex system through an iterative cycle of probing, learning about effects on the system, and adjusting the intervention design based on this learning.   

This dynamic approach to analysis, implementation, and learning through monitoring and evaluation makes such good sense in the complex and dynamic environments in which many of us work because the cause-and-effect relationships are often not known. I saw a YouTube presentation by an engineer who showed that he had solved a complex engineering problem faster by the probe, learn, adjust strategy than his colleagues who had used quantitative analysis. In other words, iterative learning may be a less costly and faster approach to addressing problems in complex systems than other options.  

As of late, many donors, researchers, and practitioners have been focused on scaling–that is, on how to scale technologies and/or the results of our development efforts. Dynamic programming is a compelling approach for scaling because it offers a way of testing approaches, learning of their effects, and adjusting interventions to ensure the adoption, adaptation, and expansion of innovations. Designing projects and activities that enable this dynamic approach to programming is one key to increasing the scale of our interventions.


1LEO Brief: Framework for Inclusive Market System Development

2Reinforcing Loop

3Balancing Loop

4Cyenfin Framework and Polarities