Mistake: Solving the Stated Problem Without Questioning the Constraints
It’s easy to take a user request at face value and jump straight into implementation. The constraint that actually blocks or reshapes the project is usually the one not mentioned—an existing workflow, a compliance rule, a system limitation the user assumes is already known, or an implicit trade‑off.
How to avoid it: Before designing a solution, explicitly list the “anti‑requirements.” Ask: What must stay exactly the same for this to work? Document these constraints upfront. It prevents rework, keeps scope realistic, and ensures the final solution actually fits the real environment, not just the described one.