When I was in school, my friends and I found an interesting relationship. It’s pretty obvious, but I think it’s worth discussing. The speed at which a group of people moves is inversly related to the size of the group. In the college setting this involved deciding what to do on a Saturday night, but there’s an excellent post on 37Signals that discusses exactly this from another point of view. If you have a large number of people working on product development, in the end it has to boil down to one person being responsible for the final outcome. If the number of people is anything greater than one, then the speed at which the project gets completed slows to a crawl.
In large companies with the beuracracies necessary to support the infrastructure it becomes more difficult to narrow this decision making process down to a single person. There are sub-groups that all have to have buy in to the final decision. Everyone has to CYA and the fun politics come into play. It all amounts to nothing getting done. Many times even without the CYA aspect there is a refusal to boil it down under the belief that by letting everyone be involved the company will be able create the ultimate product. Getting people involved is a good thing, just make someone responsible and give them the authority to move it forward.
Contrast this with the startup mentality that the only way to survive is to break up what needs to be done into parts that individual employees can run with and accomplish. There is the belief that you need to get something out the door now and you’ll focus on improving it later. This corresponds with the advise I’ve heard from several people, for example Guy Kawasaki that a startup should ship then test. Let one person be responsible for the product. Have him or her gather data from others within the company but in the end they have to be responsible for moving it forward. If the product isn’t the ultimate, then refine it as you go and receive feedback. With a web product this is a simple process. With shipping products it means that you need to have both alpha and beta releases to customers and you have to have a process in place to evaluate and make adjustments based on feedback.