Snowflakes & Scope (#81)
We should build more custom, one-off solutions when our product development lifecycle is in either exploration or growth stages.
One-off solutions, those that are outside our product scope and developed for a single or very limited use case, are often rejected out of hand, especially by engineering teams. Yet, electing to build a snowflake isn't a universally poor decision. We can best weigh the risk by identifying which phase of the product development lifecycle we are in. The 3X model, initially penned by Kent Beck in 2016, identifies three phases of product development. In brief, the Explore phase focuses on fast prototyping and discovery, the Expand phase is all about growth in the market, and the Extract phase is about increasing value creation.
Snowflakes ought to exist in the Explore phase, where our scope is loose and we are testing ideas. This is the seed stage of our product lifecycle where we are seeking starting points, gathering more than comparing. As with real snowflakes, there is beauty in individuality, a sense of wonder that this thing is unlike others. In the Explore phase this sense of wonder acts as replenishing energy as we play and experiment with what might be. The work reveals itself as we go, shaping into something we eventually define. One-off solutions help provide justification and funding to explore new paths. We call customers in this phase early-adopters and pioneers.
Snowflakes also have a home in the Expand phase. One-off solutions can win new business — they may lead to new features, expanding the product set, or allow entry into new markets. Sales teams have a purpose built incentive to expand the customer base, pushing the boundaries of the market offering. Therefore, sales should be expected to blur the edges of a product definition — scope creep becomes a custom solution. Custom solutions command premium pricing, reinforcing the sales incentive, improving our distribution, growing the business.
One-off solutions are, in the long run, more expensive — in knowledge, maintenance, and complexity. Snowflakes increase technical debt. Therefore they work against the goal of the Extract phase, one of optimization. Here we seek simplicity, cost management, and easy knowledge sharing. Custom solutions tend to be fragile, relying on tribal information, precarious configurations, and alternatives that short circuit our protective guidelines. In the Extract phase we want to follow a standard playbook that firmly grounds us in stability, performance, and predictable expenses.
Knowing which phase of the 3X model we are operating in gives us guidance on how strongly we should support or oppose a custom solution. Unless we are supporting a mature, stable product with high market saturation, snowflakes are more often than not an opportunity. With this context, building a one-off solution may be much more palatable, especially if we commit to adjusting the types of activities and resources as success of our product moves us from Expand to Extract.
The Paradox Pairs series is an exploration of the contradictory forces that surround us. A deeper study finds that these forces often complement each other if we can learn to tap into the strength of each. See the entire series by using the Paradox Pairs Index.