While there are others who write much better essays and advice on startups, here is my take after working on a startup for the past several months.
Besides, you should always take all advice or lessons with a grain of salt.
1. You can’t afford to have a religion.
Our biggest mistake in our startup was scrapping a prototype that was built in a certain framework for first PHP and then eventually Python/Django. This was a big mistake as it cost us probably two months in development — and when speed matters most for a startup, this was a fatal error. The reasoning wasn’t complex or about an inability for said framework ‘to scale’ — we made a conscious decision that we didn’t like said framework.
This applies not just to the programming language or framework, but to hardware and software applications — keep costs low, use what you already know, and move on — and certainly don’t blow months of code because you decide you don’t like a framework — decisions must be around the business, and not just the technology — the difference between a startup and a side project.
In a small startup environment, the team is key — and communication is the foundation to any team — and we didn’t figure out how best to communicate both major decisions and smaller decisions, and it was very detrimental to the team environment. For this reason, I would suggest to keep teams capped at three, at least initially — communication between more than two people gets exponentially more difficult to maintain.
3. Agile development, actually.
We used assembla for subversion, scrums, milestones, wikis, and for general organizational purposes. We had all the tools in place but we didn’t actually practice agile development. Scrum reports would come in once a month, nobody was actually responsible for anything. Tickets would come in saying things like “someone do X” where ‘someone’ was undefined and ambiguous and the task was usually left unfinished.
No fancy tools needed here — it’s about the mentality, attention to detail, and the actions that foster agile development, not the tools & systems you set up in place to facilitate this.
4. Distributed Development isn’t such a great idea…
While some teams have mastered distributed development, for most startups this is a big mistake — especially if you haven’t worked together before on projects. Nothing — especially in the early stages — can replace the close interactions, collaboration, and idea-fleshing & idea-bouncing that takes place in a close team environment.
If you are going to have members in different locations, see agile development above — this is a must.
5. Don’t file expensive patents when you are pre-seed.
There’s much debate about patents and the importance of them in the startup, but they certainly don’t have a place in pre-seed startups, unless they are the core upon which you are building your business/start-up — but even then it could be questionable.
We filed a patent application that had nothing to do with the web app we were actually building — spending valuable time resources (which is your most valuable resource) on something of little or no purpose to our startup.
Again, communication might have helped, as well as having the team in one place.
6. Attention to Detail
I can’t stress enough how important attention to detail is — in fact it could make or break your start-up, whether its how you incorporate, or the attention to detail in the code you write, it’s important not to gloss over the small details — especially when you are launching to potential consumers or customers of your product — you look really silly when you aren’t willing to do the little things.
Everybody says it, but how many of us actually do it?
No explanation needed here — if you’re not building defensible technology, you should be releasing bits of your app to get users in the door and get their feedback rather than looking to drop a ‘finished’ product (read: bomb) on users thinking they will fall head over heels for your product.
8. Fire Fast
If there are team members consuming valuable time, emotional and financial resources and don’t share the vision fire them early and fast. Especially (even if) this is a co-founder.
9. Highs and Lows — Never give up
Don’t get too high on your highs, nor too low on your lows — you’re doing something you love, and most people around the world never get a shot at that. Even though you’re most likely to fail, you may have one of the best learning experiences of your life, and you’ll probably grow mentally, & emotionally (and your stomach will grow physically) — more than almost any other period in your life.
10. Don’t let your start-up define you
I think the biggest temptation when you’re doing a start-up — because they’re naturally extensions of yourself — is to let the startup define you. What you do does not define who you are. For some (the successful ones) they may want to be defined by their startup — but this route usually leads to a lot of stress — because it’s not just your startup that potentially could fail, but rather a personal failure — and the toll is much more emotional.
While you probably will be putting a lot of skin in the game (a lot of hours every single day) it’s still important to seperate your startup’s identity from your personal & emotional identity. Some might disagree here, but I think this is essential for emotional & mental well-being, especially during the lows.
** Learn from your mistakes, and learn from those of others. I see so much startup advice, but if you get burned when you put your fingers on the hot stove — and then you do it again, that doesn’t speak well of your intelligence. The most important challenge moving forward is to learn from our missteps and not repeat them.