I have developed a few websites and in the course of gathering user requirements, I mostly went to the office premises to get to know and analyze the system I was about to automate because most SMEs outsource their IT jobs.
A major skill needed for user requirement gathering as I discovered is establishing rapport which aids in eliciting responses, comments and feedback from clients easily. I achieved this by showing empathy and connecting with my clients by keying into their needs, figuring out a way to understand what motivates them, their challenges, their relative perceptions about the system, and what matters to each stakeholder in the business/firm.