Thoughts on Supply and Demand from “The Power of PULL”
In his book “The Power of PULL,” Rob Snyder articulates a sort of separation-of-concerns between customer/demand and business/supply.
Demand is what buyers are trying to accomplish in their lives. Supply is what we build. These are two separate things. There is no such thing as demand for supply. Demand exists as something independent out there in the world, whether or not our supply exists and whether or not we exist. In other words, demand is supply agnostic…
When we find demand it’s up to us to design supply that fits…
When people request features, they are requesting supply not expressing demand. We shouldn’t take customers at their word when they request supply. We need to understand their demand and decide how to design supply that fits. P = a buyer has a project; U = that’s unavoidable right now; L = they consider a list of options; L = but their options have serious limitations
On one hand: a customer shouldn’t request supply (and if they do, we shouldn’t take their word for it). They should express demand (as we observe them act out their to-do list).
On the other: business shouldn’t expect demand for their supply. They should design supply for the demand once they find “out there”.
I think the concepts in this book also apply internally to a single company, where engineering should provide supply designed to fit the business’s demand.
Extending Snyder’s definitions: we as engineers shouldn’t take the business’ word when they request a feature. We should figure out what they are trying to achieve (as we observe them act out their to-do list) and then design a feature to fit that demand.
Similarly, we engineers shouldn’t expect there to be a demand for something we built, no matter how technically brilliant it is, unless it helps the business achieve an unavoidable action that’s currently blocked/slowed down by severely limited or unworkable options (Snyder’s definition of PULL).