Most successful companies do not start out with the exact idea which ultimately makes them successful. With that said, it is important to work on projects which lead you on the path to coming up with these sort of ideas. It is extremely important to not be too idealistic when coming up with short term business goals and projects. The process of staying on the right path to success is made much easier with a coherent incentive environment, where you are living with your friends and business partners. This is almost like a support network to keep each other motivated and focused on the business's goals. It is probably good to have a mix of 2 to 4 individuals with varying degrees of practicality and idealism. If everyone is too idealistic, the chances of success are very small as you try to take on the biggest, most interesting projects. Save those for later. If the group is too practical, the group will fall into the trap of only looking for projects which will bring money and will potentially end up not even enjoying the process as well as not being successful. Certainly, there will always be problems which everyone will not always want to work on all the time. This brings me to the next point.
I believe it is very important to maintain at least a part time job throughout the beginnings of the startup. Most likely, it is best to have a full-time job in the initial brainstorming stages. This will ensure that you are bringing in capital which will be necessary to fund the startup as well as providing a coherent incentive environment for keeping up with working on projects, even if they are externally motivated. I think it would be extremely difficult to just jump right in to making your startup a full time job for a few reasons. There WILL be periods where you have no ideas and are unsure of what to study or work on. This can easily cause severe motivation problems and as you see you are accomplishing nothing, will severely hurt your morale. However, with the external motivation imposed on you while having a job, this will provide some structure for being somewhat productive at least. As long as your job is some sort of tech job, you will always be learning something which may be useful in the long run. Without a job, it might be much more difficult to convince yourself to keep learning if it does not seem immediately useful.
It is probably best to maintain a full-time job at first and have regular discussions with your business partners. This is the brainstorming stage, and it may take a while. Once a reasonable plan for action is decided upon, it might be good to scale back your work to part time. I definitely do not think this is the stage to quit though. Having a tech job really does help to provide a coherent incentive environment for furthering your education and abilities. At this stage, it really needs to start becoming something you are actively working on though. Paul Graham, founder of Viaweb, a piece of software which allowed users to found their own Internet stores, wrote an article about startups found here. Here are the main points:
- three most important components of a tech startup are good people, making something people want, and spending as little money as possible
- look at something people are trying to do, and figure out how to do it in a way that doesn't suck
- try to work with "animals", say to yourself "so-and-so is an animal", if it doesn't make you laugh, then they might be good people to work with
- work with smart people who still know how to say "i don't know"
- 2 to 4 founders is the best
- get version 1 out ASAP (as my friend Chris from home said "don't focus on getting the Pulitzer prize right away!" while working on a writing project)
- worth trying very very hard to make technology easy to use
- go to trade shows
- ask "what do people who are not like you want from technology?" (not everyone knows computers and technology like us!)
- think in terms of niche markets (at least initially)
- one of the most valuable things you can do is find a middle-sized non-technology company and spend a couple weeks just watching what they do with computers (you can make it easier)
- focus on smaller markets and companies initially
- If you build the simple, inexpensive option, you'll not only find it easier to sell at first, but you'll also be in the best position to conquer the rest of the market.
- consulting companies can be self funded, but it may be hard to switch to a product company
- most angel investors just expect a brief description of what you plan to do and how you're going to make money from it, and the resumes of the founders
- when you set up the company, as well as as apportioning the stock, you should get all the founders to sign something agreeing that everyone's ideas belong to this company, and that this company is going to be everyone's only job (once you get to this stage). While you're at it, you should ask what else they've signed. One of the worst things that can happen to a startup is to run into intellectual property problems.
- focus on being good at what you do (dollars follow value principle), advertising the brand relentlessly means your product may be lacking (word of mouth is always the best advertising)
- listen to users, smart users will tell you exactly how to make a winning product, focus on users and not advertisers
- be as cheap as possible, work in apartment
- don't hire anyone
To summarize, I think a coherent incentive environment with your friends and business partners as well as a part-time tech job are important practical measures on the road to success. It is important to focus on short term realistic goals and to have positive feedback loops within the coherent incentive environment to maintain a reasonable psychological state.