A few months ago, I put together a presentation for the MVC Club on the topic of cofounders. Putting together the presentation forced me to consider what the germination process for a new business venture actually looks like.
Back when I was in college at The Cooper Union and was hacking things together for the first time, I used think a startup was all about finding the right idea and just building it. I learned very soon that this was not the case.
Later when I worked in subsequent engineering roles, I realized how critical a well-functioning team is for any product to come together. I would argue today that a good product is a direct reflection of the team that makes it.
So for a while, I thought the key was to find the right team first and to subsequently pick an idea in an area where everyone's skill sets overlap much like a Venn Diagram. In practice, I found this difficult.
The reality is, good teams are extremely hard to put together and are at best temporary. Even in the most established companies, key people come and go.
Often times team members may not even like each other, and when they start the product initiative barely know each other. What unifies the team is the product vision and the act of defining the product under conditions of uncertainty. In other words, in practice it's much more difficult to get people together on a Saturday morning around the premise of, "Let's brainstorm..." than, "I've got this great idea for an iphone audio amplifier and I'd like to get your feedback..." People are just more naturally excited about finding out about the specifics of the audio amplifier and why this might be the next big thing than a generalized brainstorm session.
So assuming for a moment that the team is a function of the idea, the idea comes first, but that the two are interdependent.
This has several implications...
1) You can either be the guy with the initial idea, or wait for someone with the idea to come to you. If you are dead set on starting something, be the guy with the initial idea.
2) If you have an idea for say a web-app, the team required to build it would be radically different than say an idea for a new disc caliper mechanism. When you are first considering your idea, it's really more like constructing a 3D pyramid, where you need to simultaneously consider good ideas and who you actually know that can help you build them. You may have some great ideas that you simply cannot act on because you don't know the right people to build it. In other words, the more technical people with diverse skill sets that you know, the more ideas that you can actually execute on.
3) Your friendships or working relationships may drive you towards ideas that are less promising, but where the team is likely to be more stable. That's perfectly fine, but try to find the right balance between good team members and good ideas to work on. Don't work on a mediocre idea just because you have friends who are experts in that space.
4) It follows that selling the initial team (who can either be technical friends or people that you don't know well) on a good idea is really one of the most critical steps in the early stages of a startup. This happens before there is any money and often before there is even a prototype on the table. You've got to sell the vision. If you can't do this, chances are there is no startup.
Either way, the best way to both conceive of an idea and to convince people to join you is to have serious long-term conviction about the problem you are solving. The rest hopefully falls into place.
1 For a good read on how a team structure can literally be reflected in a product's architecture, check out The Soul of a New Machine by Tracy Kidder.