> A software developer's job isn't to make the customer's life better, it's to build the product to spec. You might want the developer's help designing the spec, especially since you should have someone in the room who knows roughly whats possible and whats not, but thats technically a different job.
In a traditional shop, its true that requirements analysis is a different job than development. In many Agile shops it is not; requirements are owned by the development team, which works with the customer to define them.