Cannot overstate the value of regularly delivering working software.
My single most effective software dev habit is to start with a walking skeleton -- a "real" if very stubbed out program that can be deployed on its real infrastructure, receive real calls, visited for real etc. -- because of what this does for non-programming stakeholders.
When they see a real working thing and then they see that thing get meaningful improvements they tend to chill *way* out and get much easier to work with.