A simple idea for this week's post.
To make progress in product development we often need to:
Introduce artificial constraints
Agree to proceed with incomplete information
"Cut corners" and do work we're not 100% proud of
Suspend critique (and even disbelief/pushback)
The challenge I see is that teams are not intentional when they make these decisions. They don't understand each other.
For example, a product manager proposes an "MVP" for a new workflow. The team cuts all kinds of corners and leaves a lot of loose ends. And then the product manager up and decides to move on. "It is good enough I figure!" That wasn't what the team signed up for. They thought this was an experiment to test a set of assumptions, not an excuse to move fast.
Resentment grows. Trust drops.
An example of a healthier approach involved a team I worked on. We realized that to make progress, we needed to suspend almost all of our questions. But we detailed them, and revisited those questions/concerns weekly to figure out what to tackle next. As the effort progressed, the team decided that to move forward we NEEDED to answer a question, or at least come up with a better answer. So we put the brakes on to do that.
The key is being intentional.
Catalog and visualize cut corners
List enabling constraints
Set reminders to revisit certain decisions
Use clear language not jargon (e.g. MVP)
Detail assumptions and experiment
Keep a decision log
Keep working agreements
Get specific about drivers, constraints, and floats
That's it for this week. Again, something so simple, but often overlooked. Solving complex problems involves a lot of dancing with uncertainty. To do that as a team, you need shared language and some discipline. The alternative is pretending everything is fine, and just building to spec. And we know how that goes.