When having discussions with superiors and other technical co-workers it is always a good idea to remind them to think about the "what" instead of the "how" when gathering requirements for a new software project. This in itself can be quite a challenge especially when you're dealing with technical folk.
Being part of a team of programmers, you know who will be coding the proposed requirements (after design ofcourse! or not Agile folk;-) )
Do you take the stance that you will code anything as long as the requirements are clear? Or do you tend to resist some requirements or suggestions that you feel are not worthy? I just can't get myself to accept requirements without putting up a fight if I feel that the feature/requirement will not have benefits or benefit 0.00001% of the customer base. Surely spending the effort on a feature like this is wasting valuable company time that could be spend on something with higher priority.
Where do you draw the line between constructive discussion of requirements or acting as programmer that simply accepts everything passed his way?