I run a startup. And today opportunity knocked on my door. Right in my phone – someone had called me up and offered my startup a ridiculously awesome opportunity. And I had to turn it down, because we were not ready.
Needless to say, it was a bitter 2 hours for me. 8.30 a.m – an acquaintance called and offered me a good opportunity for the startup to grow at ridiculous pace. I told him to give me a couple of hours to check to see we were all systems green for this opportunity. Within that 2 hours, I had checked, double checked and triple checked with all my colleagues, to see if we were good to go. Alas, we were not. You see, one of the requisites for this opportunity is that we were live and open. We were not. 10 a.m, I rejected the opportunity and helped in giving it away.
And this isn’t the first time this has happened. Over the last 1 year, we’ve been afforded opportunity after opportunity – so much so that I have once considered myself a very lucky man. And over the past 1 year, I’ve had to turn down opportunity after opportunity, some big, some small. And all for the same reason. Today’s opportunity is as large as they come – someone wanted to offer my startup a booth at CeBit Sydney for virtually free * It burns me even now, to think that I had to put on a smiley face and offer this opportunity to someone else I know .
Excuses Aplenty
For the past year we’ve been stuck on some sort of ridiculous loop. We’d get a product to 90% completion, decide it’s bad code, and find ways to break it as much as possible, and then start over from scratch. This happens for virtually all our products. Our latest product is in its 7th iteration already. Just prior to this iteration, we had decided to create our own framework, so it would be easier and faster to iterate through everything. As a result, it’s over half a year late now, and should be coming off the shelf with bugs in about a week’s time.
Initial post-mortems of our failures * I consider each missed opportunity as a failure, and I sit down with the team each time to work out what went wrong points to the fact that our own perfectionism has killed a lot of our momentum. And with that, we killed a lot of our motivation. We gave ourselves plenty of excuses – we told ourselves our development paradigms were wrong, and went through all sorts of development paradigms, from waterfall, to lean development to currently, behaviour driven development, but had found nothing that really works for us. There was even once where we decided that our best code were performed during marathon coding periods, which led to several weekends of coffee and Red Bull fueled coding.
Occasionally the topic of our lack of focus (for example, we’re working on three apparently vastly uncorrelated projects at the moment) is brought up. But I disagree. Our apparent lack of focus is indeed our strength. All the founders grew up in the Internet age. Our attention spans are very very short. Having three different projects to bounce about with actually revitalizes us. People, if looking in our chaos, might see us as headless chooks, and that’s a larger toll on our motivation with that but it’s my opinion that we can handle it. But maybe I am wrong.
In the end, I think it’s all excuses we’re giving ourselves, to give ourselves new motivation to get things done. Truly, the biggest challenge to a startup is often itself. Heck, we even once gave an excuse that because of some new development in the marketplace, we have an inferior product idea, and we decided to retool that product. It never saw light. We gave ourselves excuses to float from one point to another, using the buzzword “pivot” to “pivot” the business from one point to another. Didn’t work.
Sometimes, working late into the night, I wonder to myself, is it all worth it? And every single time, without fail, I would calculate the returns to be way more worth it than the sweat, blood and tears we’ve put in. And trust me, I’m an economist.
Moving On
The question is where do we go from here. Do we give up? No. We continue. We learn our lessons and move on. I am optimistic. Two of our projects are going out of the door (undoubtedly buggy, but perfect software doesn’t exist, I’ve come to learn) within two weeks. And this time, we’re going to launch it.
In the past year I too have learned a lot from Rich. I have slowly moved away from needing everything to be perfect, to getting things out quickly. I think cfgt puts it the best, encapsulated in this chat history:
cfgt says:
I think first off [framework name]… is still a pain
Chewxy says:
I guess we learn.
cfgt says:
we have much to learn
Chewxy says:
dammit. I heard that in Yoda’s pig latin.
much to learn, we have, hrrrmmmm?
cfgt says:
lol.
because from the good, fast, cheap triangle, we chose the cheap and good.
hahahaha
Cheap, Good, Fast. Choose Two
That is to an extent true. We learned early on that everything had a cost (and it was a fairly painful lesson that one – cost us about $3000 in total), and the cost can be encapsulated in a choice of 2 out of 3 possible options: Cheap, Good, Fast* Incidentally there is a [Wikipedia page](http://en.wikipedia.org/wiki/Project_triangle "Project Triangle") dedicated to this . I think there is something to be said about the transitivity of the option set, but I’ll leave that to another time when I have more brain cells to think. A good project manager would be able to manage this project triangle well. Clearly I wasn’t doing my job too well.
I had been bitter this morning. Very. And I decided that being bitter and upset does nothing. The solution is to pick oneself up and move on, the sooner the better, find the lesson, learn it and don’t repeat it.
I’ll be damned if I have to repeat this lesson again. Because I jolly well won’t.