Mediocre teams: Along every link in the chain, the clarity of requirements and the quality of the outcomes degrade.
With teams like this, you can work to define every single little detail - every pixel, every non-functional requirement, every edge case, etc. And even then, the deliverable will come back broken.
Great teams: Along every link in the chain, the clarity of requirements and the quality of the outcomes improve.
With teams like this, you only have to point in the vague direction of where you want to go, and every pixel, every non-functional requirement, every edge case, etc., is handled even better than you could have imagined.
Why?
Partly because of competence.
Partly because of mindset.
In great teams, each person isn't just passing along a message. They don't believe their job is just to "pass the info along."
Instead, each person is a skilled craftsman who believes, "It's my job to polish and refine this using my particular skills and perspective.
This can be the difference between high-quality outcomes, fast. Or low-quality outcomes, slow.
And of course, this is often the difference between success and failure.