As a person who ends up being a de-facto leader on any team I'm on, I often am stuck trying to subtly nudge the "real" leaders into thinking about the act of leadership. I have the advantage in this regard in that I've participated in hundreds of hours of leadership training over the years and have had a lot of experience working with teams to get things going. A quick primer that I think is very instructive can be found here.
So if you're a leader and your team is doing CRAZY things and they aren't happy and you aren't happy and you aren't getting the results for the organization that you require....
My first statement is "yes it's YOUR fault"
My second statement is read this again
My third statement is: adjust your leadership style to fit the situation. Do NOT treat 30 year old software developers like children, because they will begin to act like them. This should be no surprise.
In addition, make sure you attend any leadership training made available to you, it certainly cannot hurt... Certainly if your organisation is making leadership training available to you free of charge, it would be a really good idea to attend.