Growth is fun and exciting in a startup, but it can also be just a little painful and scary.
Its scary because people can’t anticipate problems that arise from growth such as having customers, supporting them, answering their requests, and fixing the issues they experience with your product. Or adding employees, training them, educating them on the vision of the company, keeping them motivated and collaborating with each other. And then there’s the product itself! More customers are using it, and generating data which leads to a less than awesome experience for your customers.
This isn’t the time to feel overwhelmed. Its the time to pat yourself on the back: you found product market fit and you’ve recruited some stellar people to help you out!
Now you’ll need to change some processes to handle the growth which can be the painful part. Its easy to throw money at the problem, but lets just say you you may or may not have access to a seemingly bottomless pit of cash.
Figure out what you need not what you want.
It all comes back to milestones. Where do you want to be in 3 months, 6 months, and 1 year? You don’t need to have definitive growth numbers for your startup but you need to put things in perspective. Lets say you’re shopping around for a customer support ticketing system, and right now your growth is fairly predictable and manageable by a single human being and possibly part time. In that case don’t buy something that’s going to cost more than what a single customer is paying you monthly. You might even be fine doing support via email and phone, and it will probably aid in your customer development process to have someone listening for feedback. If your customer support person starts to get inundated then its the time to look into a system to organized.
Start shopping for products when you want to cut down on human labor costs that are quantifiable by time and money. The people you hire are smart, so invest in their productivity and happiness, and don’t let them become drones by having them do repetitive mundane tasks that aren’t advancing themselves or the company.
Building vs. buying?
You’ve isolated a few areas in which you need to put a new tool in place or replace an old one. As engineers running a company its easy to say: “Oh I’ll just build it!” Wrong answer. Yes it might be super easy for you to whip something up, but who’s going to test that new tool, maintain the code base, and add on to it? If its you great! You now have a new department: internal tools. Oh you’re small… well then you just cut down on product development.
Save yourself some keystrokes and shop around for products instead. As I mentioned before, if you identified your needs then it becomes easier to tell people what you want and to shop around for it. Yes there are times when you might not find what you’re looking for, and it might make sense to build it in house if its cost effective (cost == time + money). If you find a product that satisfies 70-80% of your needs and is within your budget buy it!
When I was working at Mint I had the painful task of searching for an email provider to handle all the outbound emails we were sending. Integration was a nightmare especially given the products that were in the market at the time. Had I taken a little more time to do research I would have found MailChimp and been happier. Live and learn.
Fortunately I did learn, a different lesson while working there, put off managed hosting for as long as possible. Which is why when I started BizeeBee I went with Heroku. Could I have written deploy scripts, and the add-ons that they offer on my own? Sure, in fact I wrote some of them at Mint (sms and email messaging, performance monitoring, etc) in Java! But going with a solution like Heroku for less than $100 a month gave me the freedom to build, iterate, and launch BizeeBee all in the same year! Did I mention $100 is also less than the going rate of a developer pretty much anywhere.
How long will the solution last?
Remember the title of this article is retooling. If your startup is on a growth trajectory it will outgrow tools, and you’ll need to refine processes. Get comfortable with it. They key is to identify when you’ve outgrown a product or anticipate when you will.
Sometimes you can live with a less than perfect solution for awhile, especially if its cheaper than the alternative in terms of setup and maintenance. Just acknowledge the limitations, and prepare to fix them if they cut into progress. For example, at BizeeBee we have a customer support tool that I built. Its not perfect, it drags the system down a little when we run large queries, but we’re operating with limited resources. I’ve optimized the queries once they really start to impact application performance, but I haven’t yet setup a dedicated database, and optimized the heck out of it, because I have other priorities. I’ll throw resources at it when it start to cost us customers and time, or isn’t serving its purpose.
Retooling is not a cost. Its a cost if you do it prematurely. If you do it when you absolutely need to or when you anticipate a need arising then it can actually be aid in the growth of the company. Once again figure out what you need. Do you need to grow your user base? Do you need to keep your customer happy? Do you need to get paid on time? Do you need your employees to be happy and productive? Those should translate to what you’re looking for in a solution.
Retooling isn’t just about finding the right tool, its also about finding the tool that will help you you meet your next milestones, and once you reach them you’ll need to retool again. Happy retooling!