Working software is the only accurate measure of project progress. Arbitrary "project milestones" and documentation are no indication of progress, or if the system can or will be successfully delivered. Tested and reviewed functionality that actually operates, however, is a very clear and indisputable indication of progress made.
The best predictor of project success is the quality of the team tasked to deliver the project. A team of motivated individuals will win. They will overcome obstacles, they will persevere through difficulties, and they will meet success in the end. That is what motivated individuals do, and we staff our projects with such individuals to ensure our success and the success of our customers' projects.
The best performing teams are self-organized, and every member, a leader. We take action to identify what needs to be done and do, rather than waiting for direction from our supervisors. We don't have to be told who does what because we're all in this together. When problems arise, we address them with a sense of urgency, removing obstacles and clearing the path for success.
It is important that business people and technical people collaborate on a daily basis in order to stay focused and up-to-date on the needs of the business and the business value that is being delivered. The business continuously engages in the process to avoid "technology for technology's sake," and you will never hear at the end of a project, "that's not what I asked for," because collaboration, confirmation, and validation occur on a daily basis.
There is no form of communication that can replace face-to-face conversation. Not email, not instant messaging, and not change-tracking exchanges of requirements documents. No other form of communication is as accurate, efficient, and productive for exchanging information between two collaborators. Even with our remote services teams we emphasize this principal and make heavy use of video conferencing over other forms of electronic communication.
We avoid doing work for the sake of the work itself and prioritize our efforts around the business value that specific work tasks deliver. If we can eliminate work that doesn't matter to the project outcome, that doesn't provide lasting value to our clients, and that takes focus away from our highest priorities, then we have maximized the value of our efforts and made the most of our sponsors' resources. This is truly the essence of agile development.