A developer can definitely produce software independently. I do that as well. But the question is about selling that software to the business users. This is where a good BA/PM comes in again. I have said before that in small setup such as startups etc which produce software as their core business, a developer can possibly wear all hats. But in large corporate settings, developers do not want to go through the pain of people management, bureaucracy, follow ups etc.