Ask Why First
You must have heard the old story about the fact that "it is always hard to find out WHAT the clients want"?
And also if you are a developer you must have faced the problem of not knowing HOW to implement a particular requirement.
A good approach that my friend Kelly came up with the other day was to ALWAYS ask WHY first.

Once we understand the client's needs, it will be much easier to implement the feature in such a way that will add more value.
The other big issue of not knowing WHY is delivering or even estimating "not needed requirements". For example, the other day we were estimating a Single Sign-On feature for an application that did not have any other app or even OS to share credentials... So, we asked: WHY do they need SSO? And then... Ding Dang Doon! (Thanks Dave Coombes and Ryan Moffat for the awesome onomatopoeia "Ding Dang Doon")