What most people don't realize is that the first step when starting anything is to get up and running as soon as you possibly can. Nothing kills a project like a perfectionist.
In order to get up and running right away you'll need to eliminate a lot of your feature-rich ideas. When you stick to only what's important you deliver what counts. You save time, money and more importantly you reduce risk.
With any project you have to find your unique advantage. You should either be creating new meaning, righting a wrong or being the best at something. When you find your unique advantage, stick with it and launch with your first stable version.
In most cases if your unique advantage is any good, you won't worry much about the competition.
Always assume success otherwise you'll start failing instantly. But don't be surprised if you fail the first time. And since you kept things simple and didn't make stuff people didn't need you saved yourself the time and money to try something new.
When you start getting positive or negative feedback, it's time to listen. Listen to your customers. Find out what they really want and deliver the goods. This is called refactoring naturally.
Since you set core goals, launched soon and refactored naturally... all you have to do is repeat the process. With some practice, you'll get more of the right stuff done and be more successful.
Everything we've done that has succeeded has followed these rules either on purpose or by chance. And because we want success more often, we expect all of our customers to understand and practice this process.
These ideas have been strongly influenced by Guy Kawasaki's book The Art of the Start. A must read for anyone starting anything. You can also watch his talk which is a great introduction to these ideas.