A question on startup strategy - this is a real world scenario we are facing, not a hypothetical


4

This is an actual problem we have to decide on with our startup. Help me decide!

SCENARIO You are doing a startup. You have launched, you have customers, revenue and some traction. You are growing steadily.

You have just taken a seed round, which gives you enough runway for exactly 12 months. At the end of that 12 months, you need to be cash flow positive or you may as well pack up your bags and go home.

You have 4 staff, 3 of whom are developers and 1 of whom is the sales and marketing person. You have a board with 1 investor and 2 founders on it.

Your product is an early iteration, which means it meets the needs of some of your target market but not all. It needs continuous development in order to reach "product to market fit", and reaching that fit is an important aspect of becoming cash flow positive.

Your product is built in a particular technology which means that 40% of the development work can only be done by 1 of the developers (development bottleneck). This affects your speed of development. The other 60% of development can be done by all 3 developers.

Now, assuming that the sales and marketing techniques and the focus on the conversion funnel remains exactly the same no matter what you do with your technology, you have two broad choices:

Choice 1 Stick with your existing technology platform, and focus on reaching product to market fit. Accept that you will have a dev bottleneck, but do so knowing that it is preferable to have the full 12 months of runway at your disposal in order to maximise success.

Key advantage = Full 12 months of runway to reach cash flow positive

Key disadvantage = 40% of dev is bottle necked through a single developer

Choice 2 Spend the first 60 days of your runway rewriting your platform in a way that 3 developers can work on 95% of it, rather than only 60% of it. Spend the next 8 months focusing on reaching product to market fit on your new platform.

Key advantage = Once you have rewritten the core tech, everyone on the team can be fully productive on the platform

Key disadvantage = Rewriting the core tech probably reduces your runway window by 2 months, giving you 10 months to succeed rather than 12.

THE QUESTION What would you do - choice 1 or choice 2, and why?

Strategy Development

asked Oct 22 '10 at 19:48
Blank
Scott Handsaker
21 points
Top agency to build award-winning mobile apps: Utility NYC
  • why can't the other developers learn the technology? You have the wrong developers if they can't learn it. – Tim J 8 years ago
  • ditto Tim. Even if you're talking about a new language + new framework/libraries/platform (starting from zero), I think your developers could get up to speed in a few weeks. How did you end up with 2/3 team that doesn't know the technology you use? – Kelly Rued 8 years ago
  • If the other developers learning as much as developer #1 isn't a possibility, why not rewrite after you your full 12 month runway and it's working? Sure there may have been a lot more code added, but if the other developers learning the chosen technology isn't an option, I don't see what else you could do? – Anonymous 7 years ago

6 Answers


8

Estimates for fully rewriting code are notoriously understated. It will almost always take longer than planned for a rewrite. I suggest that you stay on course and get cash flow positive and worry about rewriting later. Instead of rewriting, you should also get all of your devs familiar with the current technology stack that you are using.

answered Oct 22 '10 at 23:32
Blank
Dalenkruse
599 points
  • Thanks for the feedback - I agree with you on the estimates, and as a tech firm we are no better at hitting our estimates than anyone else! – Scott Handsaker 8 years ago
  • Not to mention that the rewrite might even make the product unstable in most cases. – Ivymike 8 years ago
  • Yeah this is your best bet - if your product is good probably not wise to risk it. Or let your Flex developer keep doing this and put your other 3 developers on your re-write! – Ryan Doom 7 years ago

5

The most important thing is to become cash flow positive as fast as humanly possible. Once that's achieved, then you can rewrite the code. So, I would choose option 1.

As an aside, I find it hard to believe that the other developers can't learn the other technology. It just seems odd. I would maybe buddy up your developers for a while to get you out of this issue. Also, if your key guy get's hit by a bus, you are in serious jeopardy. Having someone else know what she/he knows is important as well but the fact still remains that the shorter your time to cash flow positive, the better.

answered Oct 22 '10 at 22:05
Blank
Jarie Bolander
11,421 points
  • +1 for the second part. – Tim J 8 years ago
  • Good feedback, thanks. I agree cash flow positive is the most important task in front of us, but the thing is part of getting there is in reaching product to market fit. Part of reaching PTM fit is in continuous dev of the product. Part of that, is how quickly we can dev the product. Option 2 is the fastest dev path once we had it rebuilt...even if we did cross train on the existing tech for option 1. – Scott Handsaker 8 years ago
  • If you are going down a literal dead end with your platform, then you have to decide when to switch over. I think most people would agree that you will rewrite your software multiple times, it's just a matter of timing. I would focus on positive cash flow and then you can rebuild it. – Jarie Bolander 8 years ago

2

Big plus , you have customers and are generating revenues, that being said you need to factor them in the equation and see how changing the technology/architecture affects them.

Also anytime you are planning to change your architecture it must be because of the flaws of the architecture itself and not that not all of your people can work on it. I am pretty sure the time taken for a developer to learn a technology is way lesser than changing a solution built on it. Thus I would go with choice 1 and also try and get the developer to learn the technology thus making him an asset rather than a bottle neck.

Best of luck :-)

answered Oct 22 '10 at 21:18
Blank
Ravi Vyas
236 points
  • Cheers...thanks for the feedback. Out of interest, it is only the front end of the app we would look to swap out (currently built in Flex), and replace it with HTML/JS. – Scott Handsaker 8 years ago

1

Given the problem as presented I'd go for choice (1) - but I'd do my utmost to get rid of that developer bottleneck.

Having a bus-number of 1 for a company is always a bad sign. What happens to you if you lose that key developer?

Keep using the current technology stack and get the developers who currently don't understand it up to speed. Doing things like pair programming with the current in-house expert would be one way.

answered Oct 23 '10 at 01:46
Blank
Adrian Howard
2,357 points
  • Thanks...your feedback is consistent with what many others are saying who I have spoken to about the problem with... :-) – Scott Handsaker 8 years ago

1

Can you mention the particular technology that the other developers can't pickup ?

answered Oct 23 '10 at 02:09
Blank
Ian Purton
126 points
  • Well they could pick it up....sorry forgot to mention that. The front end we are looking to dump is Adobe Flex, and replace it with HTML/JS. – Scott Handsaker 8 years ago
  • In that case option 1. HTML/JS is a steep learning curve for building ruch UI applications. You could spend a lot of time just deciding what framework to use. – Ian Purton 8 years ago

1

The other choice you left out was getting the other developers useful in the entire code base. I cannot see why at least one other develoepr can't learn the code. It is certainly cheaper, faster and less risky than re-writing.

If they can't, then get rid of one or more and bring in people who can learn it. Sounds harsh and easy for me to say, but they are supposed to be professionals. In a startup.

answered Oct 23 '10 at 02:21
Blank
Tim J
8,346 points
  • You are right - we could cross train at least one of the other developers. The other point which I forgot to mention is that the tech we want to swap out (Adobe Flex), is something we are going to dump eventually. So it is just a matter of when. – Scott Handsaker 8 years ago
  • good idea to dump that... – Tim J 8 years ago

Your Answer

  • Bold
  • Italic
  • • Bullets
  • 1. Numbers
  • Quote
Not the answer you're looking for? Ask your own question or browse other questions in these topics:

Strategy Development