Why is it that the developers would go into useless directions and solve non-problems? Perhaps they were not given good directions and a well-defined problem in the first place?
It is this attitude toward developers that made stupid shit like Scrum possible. Processes will not solve communication problems if there is no mutual trust to start with.