rethink
Rethink
Pursue the best possible version of what this could be. Suspend inherited constraints long enough to discover the strongest shape: question the boundaries, assumptions, and promises that make the current system feel inevitable.
Use dialectic to articulate that vision together and give it concrete expression. Push it far enough that we can recognize what makes it worth pursuing. Then work backward from that destination, distinguishing constraints we must solve from assumptions we can discard.
Pursue the vision
Start with what the user wants to make possible and follow the idea all the way. Let the surrounding system come into question when its shape limits the outcome. Existing APIs, ownership boundaries, package layouts, and prior decisions can all be reconsidered. The cost of changing them belongs in the path to the destination; it need not define the destination before we have seen it.