LavaBlast Software Blog

Help your franchise business get to the next level.
AddThis Feed Button

Stop trying to build the next Facebook

clock November 9, 2010 12:58 by author JKealey

facebookyouredoingitwro There are a number of strategies to build a successful software startup but my favourite is to focus on a niche. Find a very specific group of people with a common problem and solve it well. As software startup founders, we have the luxury of picking very narrow niches (and still surviving) while non-software businesses need lots of capital. For example, you can build software to connect potato growers with buyers for a fraction of the upfront/ongoing costs of launching a business that provides innovative farming tools to potato farmers.  (Yes, potatoes are awesome.)

What’s ideal about niches is they allow you to start your business and survive, if you’re serious and dedicated. When leaving the comfort of employment and starting their first business, I feel that survival is all you should worry about. You’ll never become filthy-stinking rich and your face won’t be on the cover of any magazine, but you’ll make a living. Your lifestyle will be completely different: you’ll be happier because of your flexible schedule or, more importantly, your work will have a direct and visible impact on other people’s lives. Take this time to learn about being in business and grow as an individual: that’s all that is important. To use an oft used insect-related analogy, you’ll emerge from your cocoon as an entrepreneur after a couple years of trial and error.  (Other ones include Be A Cockroach but they smell.)

Now kick the training wheels off and really get started. You’ve gained some experience, built something and can start thinking about growth. You’re now in a much better position to decide what should be done to turn your business a multi-million dollar company. Most probably, you will have radically changed your original plan based on what you’ve learned. The dynamics of the game have changed: scalable growth, not survival, is your goal. 

In a niche, you can determine who to talk to (potential clients and partners) and can do so in a structured manner. Without one, you’re wandering. This is critical: you shouldn’t be building anything without getting validation that it is the right thing to build. Although we all like to think about software as innovative, the fact is that the technical risk is very low for most software startups; the real risk is market risk. Know the answer before starting your business: can you build something people will buy and can you sell enough of it to make it worthwhile? You can’t discover this on your own; lay out your idea on paper and talk to your target customers about it.

  • Don’t fool yourself into thinking your ideas are unique or that you’re spectacular.  Ideas are a dime a dozen; everyone has the same ones.
  • Given enough money, you can build and sell anything. Know how much you have and what you can accomplish at your size. Drop the ideas you can’t properly build or commercialize and move to something realistic. I’m sure you could genetically engineer unicorns if you had a billion dollars, but do you see Mark Zuckerberg peddling unicorn meat?.

This brings me to my main point: stop trying to build the next Facebook. By this I don’t mean “avoid building social networks” but rather “stop trying to be an exceptional anomaly” because you will fail. You’re not a contestant on “Who wants to be a billionaire?” and the odds are stacked against you. Anomalies are, by definition, rare. However, everyone has heard of these companies, making them appear as within reach and misleading hordes of would-be entrepreneurs. You should have large scale ambitions, but past a certain point you become a dreamer, not an entrepreneur.

Go niche. Work hard. In a couple years, you may be able to attack the larger market you originally had in mind because you now have both the expertise, the contacts and the funds to execute on your original larger-scale idea. Step out of the dream, enter reality and you may be able to set the stage to actually achieve what you dreamed about. Otherwise, you’ll end up like one of the weirdos screaming they invented Facebook in front of a local pub on St. Patty’s day. Additionally, if The Social Network is accurate, Facebook was actually niche-specific (Harvard only) in its early days.

I smile when I see businesses with niche focus and would have liked to have seen more at the latest Ottawa DemoCamp. Even if the product/niche evolves over time, I believe they have a greater chance of survival. Here are a few sites that exemplify the strategy:

Astute readers may have noticed that the above list includes a link to our software product for the franchise industry: FranchiseBlast. We spun-off some content from our corporate website onto its own website for marketing purposes and to reflect our current focus on software for mobile/service-based franchises. More on this in an upcoming blog post.

I’d like to know your thoughts on taking these types of niche businesses to the next level. Seems like the most common strategies are:

  • Same product, different vertical [if the company focuses on scaling product sales]
  • Generalization to many simultaneous verticals [same as above, but harder to accomplish]
  • Product diversification (new products) in same vertical [if the company provides value-added services in addition to a commercial product]

Are there any good success stories in this area? Spectacular failures? You tell me!



Software Startup Lessons (Part 7) - Versatility

clock April 20, 2009 11:41 by author JKealey

The many steps of launching a business... This is Part 7 of an ongoing series of lessons learned during the first years of our software startup. Feel free to take a look at our first year (Part 1, Part 2, Part 3) and our second year (Part 4, Part 5, Part 6). Today we'll talk about of the key lessons that we learned in university that helped us during the first two years of our business: versatility.

We recently presented to a class of computer science students at the University of Ottawa where we spoke of the single most important thing I learned in university: the importance of versatility. To make a long story short, we strongly feel that the more versatile you are, the more valuable you are to a software startup. Small startups don't always have the luxury of assigning roles to each employee (quality assurance manager, database administrator, usability expert, website maintenance, etc.) because of the team size. The founding team is responsible for all of the aspects of the business and they must face fresh challenges every day. The wider the breadth of experience, the better the team can propose cost-effective solutions to their customers. Today's software engineer must be aware of the tools at their disposal, whether they be open source or not. In a sense, this is where a founding team with complementary skills and experience is almost mandatory.

University courses usually introduce subjects that self-learners wouldn't necessarily discover on their own. Although one might not directly apply the theory learned in courses, individuals grow their knowledge base which might eventually help them solve problems efficiently. As an example, data structure and algorithm course gives students the knowledge required to know when to use a hash table or merge sort, even if in practice (almost) no one implements min-max heaps on a daily basis. You probably won't be opening your probability charts for a Gaussian distribution this month, but the lessons learned do help you solve problems such as “which point of sale does an abnormal number of refunds” efficiently. University is all about gathering tools to be able to face all the problems you will encounter in your career.

Furthermore, most new grads grasp the importance of software in a software business. However, lots of people forget about the business aspects. When launching your own startup, you need to have some basic business experience: accounting, marketing, sales, legal, etc. If you've never done your own income tax or budget before and don't know much about software intellectual property, you'll eventually run into problems. In a small software startup, every dollar counts and you want those high-paid experts to do what they're suppose to: solve you hard problems. You don't want to be paying them 200+ dollars an hour to do data entry, but that's what will happen if you don't have a basic understanding of accounting.

In addition, we feel that all computer scientists should have basic knowledge about the various open source software licenses out there, even if they aren't working on open source projects. Why? Simply put, your goal as a software engineer is to avoid reinventing the wheel and write the least amount of new code (less code means less time writing it, less time testing it, less time supporting it). When solutions already exist and can be found on blogs or other sources, it is very tempting to re-use it. However, depending on the software license, bringing this code into your project can have significantly different consequences. Some licenses mean “do what you want with it, but don't sue me if it doesn't work” while others mean “if you import these fifty lines of code into your project, your project becomes open source and you must give a copy to anyone that requests it”. There are tons of nuances, but it doesn't take long to get up to speed. Although we learned this in Dwight Deugo's excellent course, anyone can get up to speed with a few hours of googling.

We use RescueTime One area we haven't mentioned yet is communication / social interactions. We track our time using RescueTime and, over the past 12 months, we can confirm than more than a third of our day is spent on communications. Not only do we collaborate within the team (project planning, testing, managing, etc.) but we also need to maintain relationships with outside parties (clients, prospects, suppliers, etc.). I think the simple fact that we're spending a third of our time talking/writing is justification enough to force ourselves to improve our communication skills. We're definitely not English majors, but we know how to express ideas in simple way that facilitates communication.

In summary, if you want to launch your own software startup after university:

  • Take some business courses
  • Take some law courses
  • Try to improve your writing skills (reports, blog, etc.)
  • Improve your communication skills (oral presentations)
  • Try to avoid student loans!
  • Get as much work experience as possible (coop terms, summer internships)
  • Do more than what is expected of you

 

Passion is the key to success

We've explained how versatility is important, but we should mention that passion is required. We feel it is critical than we tackle any work with the same passion that drives us when developing software. That means balancing bank account statements at 10PM on a Sunday night with passion, if needed. That means attentively reading a 20 page legal document, on a Friday afternoon when required. That means writing a quote with enthusiasm even if the last three failed and someone stole your car stereo last night.

We never feel thrilled to do accounting, but once started, it is important we make the best of it and focus on the task at hand with as much passion as possible. Unfortunately, motivation needs to be intrinsic and cannot be imposed or learned. Some of us can find passion in certain tasks more easily than others, but it is possible to get the same thrill of getting things done regardless of how boring the task is in appearance. Programmers know the importance of getting “in the zone” where productivity is at its maximum. This “zone” is not exclusive to programmers or writers: it can be reached during any task. We're not psychologists in any way, but it does appear that constant observation of how a task is supposedly boring doesn't help productivity. Self-awareness and re-evaluating how a task is executed is definitely a good way to find process improvements, but it shouldn't get in the way of getting things done. Convincing yourself that a task needs to be done, done well, and done efficiently is the first step to getting “in the zone”. Stop thinking about the pain and, eventually, it will go away. Passion improves throughput. Passion improves quality. Passion helps you get back to software development sooner (or whatever you like doing).

While we're on the subject, we've heard another rule of thumb: success is one third hard work, one third contacts, and one third luck. Assuming you've got passion, you've got the hard work area covered. Assuming you've got passion, you'll be able to inspire other people and build a network of contacts. It's going to be harder, but you can do it. Finally, assuming you've got passion, you'll make your own luck. This is probably the hardest fact to accept in business: regardless of you/your team/your idea/your contacts, business is not an exact science. You can improve your chances, but nothing is guaranteed.

This concludes the lessons learned in our second year. I would not be surprised if we added more lessons in twelve months, as we never stop learning new things! If you're thinking of taking the plunge, you should as it is definitely worth it!

kick it on DotNetKicks.com



Month List

Disclaimer

The opinions expressed herein are my own personal opinions and do not represent my employer's view in anyway.

© Copyright 2017

Sign in