When entering a situation for the first time, or when re-visiting issues later on in the cycle, there are a few critical questions that as a designer you should continually ask (at least subconsciously if not always out loud) to avoid confusions or misunderstandings downstream.
1. What assumptions are we making (about the user, task, context, technology, marketing requirements, etc.)
2. What are the dependencies if any? Should team x be aware of what’s going on with this part of the product? Does team y know about team x’s change request?
3. What are the expectations for this feature (held by stakeholders, customers, users, etc.)? Do we need to adjust those expectations due to changing circumstances, etc.
So in sum, always examine your assumptions, dependencies, and expectations and make sure everyone is on the same page! It’s hard to remember this when you are suddenly thrown into a situation or aggressively pounced upon by an engineer or product manager, but it pays off invaluably down the road in complex, multi-disciplinary contexts.