I am a developer, and I've launched and failed once before some time back. I am still analyzing all the reasons our start up didn't take off (we were 4 developers). I wanted to learn from the community on following topics, what do you guys think?
Let's start with your second question. You need technical talent, marketing talent, and management talent to succeed. The first one is the least important. I know that is hard to hear because I too am a programmer. But you have to face reality. The world's greatest product that no one knows about = failed company. The world's greatest product plus great marketing without great management = failed company. The truth is, adequate product plus adequate marketing plus great management = successful company. You need to trade in a techie for a marketer and another for a manager. Then you may have a chance of success.
Therefore in answer to your third question, your plan has to be to get the right founding team in place.
To cycle back to your first question, the personal quality that you and your techie friends need is humility. Know what you don't know. You will find it can be a real relief to have those distasteful marketing and management duties handled by someone who actually knows them and likes them.
This is a hard question to answer. There is no magic formula or combination of qualities that make a startup successful. A lot of factors come in to play - timing, luck, personalities, experience, perseverance, money, dedication, etc. You can start with four developers or four marketing people or four friends. In all cases, the smart team realizes the skill sets they do not have and determines either how to learn them or how to find people with those skills to advise them. Tap your network for advice on legal, accounting, marketing, human resources, operations, sales, customer service, networking, hardware, hosting, etc.
Here are answers to your specific questions, in my humble opinion: