Posts tagged Starting a Company
So you’ve spent all this time building a product or service, when do you finally launch it for money? This can be one of the more difficult decisions that you have to make. As a developer we are hard wired to be passionate about our craft, especially when it’s our baby. Even the most detached developer gets that glimmer in the eye when it’s about the code they wrote for that critical process. When it’s your own product or service and a direct representation of you sending it out into the wild, and asking money for it, prepare for an internal tug of war like you cannot imagine.
Besides naming your company or product one of the most important emotional decisions that you will have to make is when to launch your startups product and asking people to use it and more importantly pay for it.
Some history, this is from my experiences with Resgrid which is a cloud service company, SaaS deployed on Microsoft Azure, providing logistics and management tools to first responder organizations like volunteer fire, career fire, EMS, search and rescue, public safety, disaster relief organizations, etc. It was founded in 2012 by myself and Jason Jarrett (staxmanade) and we launched it as a paid product in 2014.
The Resgrid SaaS runs on Microsoft’s Azure and was up there at the end of June 2012. We started charging for the service January 2014. That’s a year and half we had the product up there for free. Even with a year and a half of development and work, asking people to pay for it was a very difficult decision. There was more to add, more to fix, more to test, more to improve. it never ended.
So how can you force yourself to launch your product?
1.) Have a partner/s or a sounding board
Having someone with knowledge of the product or service, with experience in launching or good baseline knowledge I think is important to forcing you to think critically about your baby. An different perspective is incredibly valuable when internally your conflicted about a decision. Even if you don’t want partners in your endeavor then find someone who will listen and give advise. What you don’t want is someone who will blindly agree with you.
2.) Have a MVP spec and stick to it
At some point early in the process determine what your minimum viable product is, what would be the baseline someone would pay for? It can be one feature, or a set of features. But your not talking full on double rainbow, just the bare minimum feature set. Your MVP is important, it’s the baseline of what people will use, find useful and possibly pay for. But it gets it into their hands early. Resgrid launched on 6/22/2012 with a MVP (allow first responder personnel to denote if they are responding or not). Our mobile apps were dead simple:
Oh yea, now that’s an MVP. A lot of what we’ve added to Resgrid over the two years has been feedback from our customers, or as Jeff Atwood would say, Complaint Driven Development. This is something that I pride myself on and as a company Resgrid prides itself on, quickly responding to our customers feedback. But if we didn’t start with an MVP and get it into the hands of our users, we most likely would be a completely different product.
3.) Get rid of friction
Before you launch, get your development and deployment stories sorted. Think of this as softening the beach before the invasion. This gets rid of the excuse of “it’s too time consuming or costly to get it out there” (especially for SaaS products). At Resgrid we use Microsoft’s Azure coupled with BizSpark this lowered our cost and allowed us to iterate very quickly.
Remove all the friction that prevents you from focusing on your product. Use cloud providers, like Azure, to deploy your product to for getting it in front of your customers, even if you eventually expect to house it yourself in house.
4.) It’s good enough
Launching will never be easy, it will never go flawlessly, there will always be problems and people that hate it. That’s just the way it is. We iterated on Resgrid for a year and a half, pushing weekly updates and getting feedback. But it was still a difficult decision. There are still parts of the app that need more QA, more work, help and insight for the users, documentation, etc. But those elements and issues will always be there.
You will never polish every edge case, every combination or usage pattern. Instead of tying to fix all of those, focus on your “Happy Path” and ensure that works well. Then respond to customer feedback and fix the edge cases you didn’t think of or didn’t test.
5.) Set a date and stick to it, no matter what
I’m not a fan of hard dates for delivering features. I feel that this can cause a business to be less nimble in response to issues, customer requests or changing market conditions. But for your launch you need to just set a date and make sure the product is MVP complete about two months before that. Spending the remaining time fine tuning, testing, fixing critical bugs and preparing your marketing collateral.
Don’t neglect your public presence like blogs, twitter, Facebook, public site, etc. Unless you have a built in audience or are well known it can be hard getting the first user, even if the MVP is a free alpha. The goal with your launch is to get users on it as quickly as possible, get feedback and iterate as fast as you can.
Don’t worry about complaints, issues or other negatives
This is going to be tough, and I didn’t put a number on it because it’s not a ‘thing’ to try and get you to launch. No launch goes smooth, there will be issues and probably a lot of your early adopters will probably leave and never come back. Don’t dwell on the negatives, you need to push on and keep iterating.
Launching something is a rollercoaster, from major emotional highs (getting signups, paying customers and compliments) to some serious lows (crashes, unsatisfied customers and no signups). As the adage goes, it’s a marathon not a sprint. Don’t fear the negatives, learn from them and move on.
Unfortunately the legal stuff is just part of the world we live in. If it’s not patents, it’s privacy laws (which aren’t a bad thing) or liability. Unless you have a lawyer in your friends or family for a bootstrapped startup or micro enterprise there usually isn’t much of an option to have your stuff drafted fresh.
We all know we need some legal agreements, in my Tools and Services to get your Business Started post I went over some of the tools and services we used to launch my company. Resgrid is a cloud service company providing logistics and management tools to first responder organizations like volunteer fire, career fire, EMS, search and rescue, public safety, disaster relief organizations, etc. It was founded in 2012 by myself and Jason Jarrett (staxmanade).
In that blog post I mentioned LawDepot. It’s a service we still use, the price is great and they have a good number of legal document generation tools. But they don’t cover everything, so we needed to look somewhere else for those.
As with any legal document you should always run them by your lawyer, it sucks, but there could easily be provisions in your local jurisdiction that can invalidate portions of the document.
WordPress: The great peeps at Automattic have put the WordPress Terms of Service out for your to use and licensed it under CC-BY-SA 3.0. You will have to do a lot of pruning with the WordPress terms, unless you a lot of user generated content. They also have their named programs in there that you will also have to prune and alter.
Hosted Privacy Polices
Dangers of using someone else’s terms or policies
- Outdated: Any agreement you choose can be outdated. Laws constantly change (politicians love adding new laws) and if you don’t stay on top of the legal landscape you can open yourself up to liability.
- Bad Terms: If your not a lawyer it can be very difficult to read these agreements. Are they binding your company, or you, to a term that you cannot meet? For example damages up to a certain dollar amount, or binding arbitration (you better figure out how to get an arbitrator just in case).
As with everything in this day and age the legal landscape is tilted to favor the large companies with deep pockets and the public. Small companies without a lot of money are a serious disadvantage to being pushed around by larger companies or lawyers looking for some easy wins. So use the generated agreements when you have to, then upgrade to a custom drafted one. I would recommend that you leverage someone else’s CC-BY-SA agreements and update it, helping out others just starting out and pay it forward.
Time is finite and as a technical founder in a startup it’s difficult to spend our time wisely. There are so many things we want to do, so many things to play with and to experiment, architecture to perfect, unit tests to write, and so much more.
As time goes on, I’m starting to find the right balance for me. Everyone’s balance is going to be different, where they spend time and focus their effort also depends on who the target audience is. For example if your building a system who’s primary audience will be developer, they are going to care about how clean the system is, how the API works, technologies used, etc. But if your target audience is say homeowners, they probably don’t care about the architecture, how the API works, etc.
In late 2012 myself and a partner, Jason Jarrett (staxmanade), founded a company called Resgrid. This company is a cloud service that provides logistical and management tools to first responder organizations (career and volunteer fire departments, EMS, search and rescue, public safety, hazmat teams, etc).
The system originally started out as a few native mobile apps, and a very simple website. From there the project has evolved into a full blown logistics and management system with dispatch capabilities, lots of work, lots of new features and a lot of new code.
A balance needs to be struck if at all possible between adding new features, maintaining old features, fixing issues, writing and maintaining tests, and implementing and maintaining the overall architecture. Not to mention, documentation, growing the business, making sales calls, connecting with customers, providing support, engaging the community, dealing with legal issues and all the other issues of running a business.
Besides the important business stuff, lets focus on the technical aspect of our jobs as a founder. How do I split my time:
2/3 of my technical time should be spent on something that directly improves a customer experience, fixes an issue or helps grow the business.
1/3 of my technical time should be spent on architecture tests and back of the house maintenance and improvements.
How do I determine if a task is in the 2/3’rd time:
- Does this directly impact a customer preventing them from using the product or service?
- Will this directly impact generating new sales or getting new customers?
If one of the above questions is yes, then it’s in my 2/3’rd time. Eventually the app or service will covert into maintenance mode and this will change your outlook, at that time your fixing issues, not adding many features and the focus is getting things to run smooth. This will change the time balance and where focus is directed. But when starting out, focusing on spinning the product up and getting customers is usually the priority.
Some truths about your customers:
- They don’t care about your architecture
- They don’t care about unit test coverage
- Most of the time they don’t care about the technology used
What they do care about (besides price):
- Does it have the features they need
- Do those features work well
- Is it fast
Jason, Resgrid’s Technical Fellow, for the most part hates seeing my code and believe it or not that’s a good thing. I’m focused on getting new features out there, working with customers and trying to make the system as complete and rich as possible. Jason’s job on the other hand is to ensure the system is meeting standards, using best patterns and practices, maintaining good architecture, and so on.
Balance needs to be maintained, although your customers don’t care about your architecture, they will start to care that a new feature can’t be delivered timely because the whole system needs to be rewritten. A developer friend of mine would say “that’s an uptown problem” and he’s right. But sometimes laying the foundation now consumes very little time and pays big dividends in the future.
So here is what I’ve learned about balance in the last couple of years:
- Don’t get consumed with a perfect technical implementation, just get it out there
- Unit tests are great, but they aren’t a deliverable, get them in when/where you can
- Lay the foundation of good architecture and refactor as you go
- Focus on delivering value to current and prospective customers
If you maintain a laser focus on your customer good things will eventually happen.