Keeping It Simple - Essential YC Advice And Thoughts
I didn't have that much of an experience with startups and young projects myself - though I tried to build one with friends and work for another one afterwards. But the ideas I want to cover here, even if immediately relevant to the startup kind of projects, are also applicable to the teams and projects in the enterprise realm.
I think the problem generally boils down to "over-engineering" and focusing too much on "doing things right". In any project, there should be a balance between how stable and properly done things are, and how fast the project is moving and changing: if the focus is primarily on following (software) design methodologies, or building an uber-reusable solutions, the actual evolution of the product would suffer, which essentially could lead to product's irrelevance and demise, which would render all efforts pretty much useless.
And in case of young products/projects specifically, till there's a steady revenue and profitability, the product has to evolve and change rapidly and constantly - so any elaborate "by-the-book" solution will just bog it down, and become irrelevant very soon - especially if the goal of the development efforts is to create something super-flexible and adaptable. No amount of flexibility and adaptability will suit the reality of a project that tries to find its place on the market, so spending efforts on it are counter-productive.
On the other side of the spectrum would be building something very patchy and ad-hoc - but if that's a POC or a system that has no guarantee to live long, it's very well justified: it will, most probably, be changed immensely quite soon - and in a super-rare case when it wouldn't it's easy to dismantle it and introduce a solid replacement later on. There's no need to scale till there absolutely is.
Another aspect specifically relevant to the startups is they attract a skilled and opinionated individuals that are not necessarily experienced in team work, and are eager to pursue a new solutions and fresh technologies, which are not necessarily meant for the small projects, and would mean spending a lot of time on finding and solving issues. Boring is good, in this case - so at some point someone has to step up as a technical leader and people manager, and the sooner the better (also good if that person has a relevant experience).
That brings me to the YC advise part - YCombinator has this article on their website, YC’s Essential Startup Advice, which is a very useful advice altogether, but also has a succinct advice in the "The Pocket Guide of Essential YC Advice" section.
Here's a copy of that section with comments in some places:
- Launch now (the sooner you do it, the sooner you'd know what needs to change; building something longer means spending efforts on something that will not be relevant)
- Build something people want
- Do things that don't scale
- Find the 90 / 10 solution
- Find 10-100 customers who love your product
- All startups are badly broken at some point (and that's OK)
- Write code - talk to users
- "It’s not your money" (meaning, in the article's words, "You have a fiduciary and ethical/moral duty to spend the money only to improve the prospects of your company")
- Growth is the result of a great product, not the precursor
- Don’t scale your team/product until you have built something people want
- Valuation is not equal to success or even probability of success
- Avoid long negotiated deals with big customers if you can
- Avoid big company corporate development queries - they will only waste time
- Avoid conferences unless they are the best way to get customers
- Pre-product market fit - do things that don’t scale: remain small/nimble
- Startups can only solve one problem well at any given time
- Founder relationships matter more than you think
- Sometimes you need to fire your customers (they might be killing you)
- Ignore your competitors, you will more likely die of suicide than murder
- Most companies don't die because they run out of money
- Be nice! Or at least don’t be a jerk
- Get sleep and exercise - take care of yourself (This one is super important - it's too easy to get into the "I have to do it all" mode, which burns you out in no time)