I am often asked by friends and colleagues about what first steps a non-technical person should take when they come up with ideas and want to do something with them. I always appreciate these requests since it provides recognition that I have some insight into software development in the entrepreneurship and small business space. This is my first attempt to describe in a blog post what I tell non-developers who ask me for advice.
There's an overwhelming amount of information in the areas of entrepreneurship and software development. This post is one perspective for an outline of what you need to know. The goal is to point you in the right direction so you don't become demotivated while reading endless information.
The five-part outline described in The Personal MBA (highly recommended read) provides an initial framework for understanding what you need to know about business. I'll use these five parts to describe what to learn:
When someone has an idea, they perceive value for themselves or others in the abstract concept. But there is no way to know whether the implementation of that idea creates actual value. This is why prototypes, such as screen mockups using Balsamiq, and minimum viable products are important. The sooner you go from idea to even partially implemented product, the faster you can get feedback from your target paying customers as to whether or not your implementation provides value to them.
Three more concepts are important here. First, does your implementation solve a real problem? Is the solution a "nice to have" or a must have now type of product? Don Dodge covers the "vitamin or painkiller" question brilliantly in that post.
Second, ideas aren't worth anything until they are (well) executed on. Customers do not pay for an idea, they pay for a product or service that solves their problem. That's not to say the idea isn't important, it just means the idea is important in combination with execution. Here's what some of the best minds in technology have to say about idea versus execution and another post that takes the hard stand that your idea doesn't matter.
Third, what is it going to take to get you to the point where you can talk to potential customers? For non-developers, this means putting together screen mock ups with a tool like Balsamiq or Mockingbird while also learning how to code. There are many reasons for why you should learn to code, but it primarily boils down to:
If you don't want to learn how to code, ask yourself if you really want to be an entrepreneur in an Internet-based business. Entrepreneurs recognize that sometimes you've just got to roll up your sleeves and get a job done. (Likewise, developers must to recognize customer development, marketing, sales, finance, etc., are really important to a business' success.) Learning how to code needs its own detailed blog post in the future but I subjectively recommend Python and Django as a programming language and web application framework starting point.
Once you've created a desirable web application based on customer feedback, marketing becomes a priority for gaining new paying customers. Your first customers should be the people you worked with to create your product. Hopefully they are early-adopter evangelists who are willing to both give you testimonials to put on your website as well as spread the word to like-minded potential customers.
There are several resources I have found that were tremendously helpful in better understanding marketing. First, Start Small, Stay Small provides a developer-centric perspective on online advertisements, search engine optimization, and marketing. If you're already a software developer, you should start with this book. Second, Permission Marketing is a classic marketing book that discusses the shift from interruption marketing (stopping people from what they are currently doing) and shifting into a permission marketing model where potential customers identify that they have the problem you are solving with your product or service.
There are a few likely options you will most commonly use to market your product since your budget for marketing is going to be limited.
1. Blog posts, along with proper Search Engine Optimization (SEO), also known as organic search results. These should be really high quality content blog posts that are exactly what your target demographic would be looking for when they have the problem your product solves.
2. Email lists. Targeted lists of people who are interested in the problem space both in and around the area your product solves.
3. Adwords. Ads that appear next to search results in Google. For people who are searching but do not necessarily hit your blog posts.
Together these three approaches help form the basis for your initial low-budget marketing efforts.
Sales is different from marketing. Marketing is getting potential customers to know about your product and getting them to your site. Sales is moving a visitor to your site from a potential customer into a paying customer.
Sales involves concepts such as designing your sales page, performing A/B optimization testing, studying and trying sales experiments to see if they convert more potential customers into paying customers, and tweaking your sales funnel.
The sales funnel is an important concept and it should be baked into analytics that are used on the site, such as Google Analytics, MixPanel, KISSmetrics, and home-grown analytics solutions. More on analytics in a future post as well.
Once you've sold a product or service to a customer you must make sure it is satisfying their needs and they feel they are getting what they paid for. This is the customer development process continued. Value delivery involves collecting, analyzing, and acting on data about how your customers use your product or service. In addition, directly talking to a broad swath of users to determine what other problems they have that can be solved with an expansion of your business.
Finance involves running a profitable and cash-flow positive business as well as performing accounting. Software such as Xero, FreshBooks, and QuickBooks Online are a boon to Internet-based businesses and well-worth the monthly fee once the business is launched with customers.
There are a couple other misc notes I wanted to mention that did not directly fall into the above categories.
Getting legal advice from an actual lawyer matters once you get off the ground. Don't worry too much about it until you have momentum behind you. I found this laywer's list of what he would do when starting a start up to be insightful at least to get an overview of the concepts.
Also, reading sources such as Hacker News, and Patrick McKenzie's blog can help to identify new subjects to learn.
There's a lot to learn and it can be overwhelming. In some ways having an outline is a downside because you realize how far you have to go. But it also helps to prevent blindspots in your knowledge map of what you need to know.
I'm sure I missed many areas. Message me on Twitter @mattmakai to let me know what else needs to be added to this outline for non-developers as I also work on expanding each point into its own blog post.