Tracking progress against requirements and getting regular user feedback are key. Also important to monitor code quality metrics like test coverage, cyclomatic complexity, KLOC growth over time. Velocity and burn-down charts help measure progress. But most important is delivering value to customers frequently and iterating based on their input!