Find the constraint that decides everything.
Most projects have one thing that quietly determines what is possible — a deadline, a legacy interface, a certification path, a device that ships with 64 KB of RAM. We go looking for it before we recommend anything, because every later decision is downstream of it.
- What does this system actually have to accomplish?
- Which requirements are fixed, and which are just habit?
- What breaks first when the load doubles?
A problem definition both sides agree on, the constraints written down, and the short list of unknowns worth resolving before anyone commits.