Your solution is never correct; iterate often and effectively. Think fast, react, but don't leave your customers behind.
Listen to your users’ problems and seldomly their solutions. Their solutions, too, are never correct.
The scope of the software you produce should be directly correlated to the resources that can support it. Your team is never large enough to solve all problems. Be humble, be nimble, be honest.
You will not learn without making the right mistakes. Your users, not a whiteboard, will tell you what is right and wrong.
Every software release is a new opportunity for feedback. Listen every single time, then iterate. Large projects produce delayed feedback; either avoid the delay or brace for it.
Code, as ideas, are always malleable, deadlines should be too.