Didn't reply in the professions thread, but I'm a software requirements analyst (amongst other things).
My main challenges with GTD is keeping track of the sheer number of little things that come my way, and deciding what needs to be shared with colleagues and customers.
For one big project of 'define requirements for feature X' I'll have to keep track of cusomer requests, my own ideas, design suggestions, problems I need to resolve, questions to ask other people, changes to documents, status of those issues, plans, answers to pass on to people, as well as the tasks I need to do. All of these change all the time as I work on resolving issues, customers pass on info to me, developers raise problems or missing requirements etc. This is what I find hard to keep up to date in a system.
Added onto that is the fact I need to keep track of what I need to do personally, but also communicate the status of the project and issues to customers and colleagues and keep those status systems up to date. It's difficult to know where to draw the line between a personal and public system and to avoid duplication or inconsistencies.
I can identify where in GTD all these issues should go (e.g agendas, project support) etc but haven't really found a system that solves my challenges for long. I've also had problems trying to fit everything into projects, sub-projects, sub-sub-projects, ... (e.g. every issue or problem could be a sub-project) in my main action lists, but am trying to simplify.