Here's an interesting article I came across on Reddit. It basically talks about how all the information needed to decide that a project is off track is in the heads of developers and testers, but due mostly to social or political factors and partly to methodical shortcomings (overall bad communication), it never makes it up the chain. Rather than relying on a rigorous process and reports, gathering the information can be as simple as the project manager periodically asking people for their thoughts on the project's goals--concerns they may have, etc. But of course the manager has to be receptive to concerns of people and willing to do something about them (even if it means changing from proverbial "green light" to "red light").
I've seen other good stuff from this blog as well.
full article: http://coderific.com/blog/post