Fork me on GitHub

Seven Day Startup

A book by Cory Mawhorter

Learn

So you want to start a business. Well, you're not alone.

Every schmuck with a website, university with an MBA program, and former founder with a few bucks in their pocket thinks they can tell you how to make it big in their next podcast or blog post.

The truth is most of them have never done it. They read a lot of books, they spout a lot of nonsense, and in the end they give misguided advice to people like you who have an awesome idea. They don't KNOW the things they are telling you and the advice gets dangerous.

The truth is that you can start a business right now, education and resources be damned. You can create a product and land your first users in as little as a week. Why am I different? Because I've done it – I've been down this path multiple times and I know what works, what doesn't, and more importantly, how to move on when the time is right.

But there are a few things to get out of the way first. A few important details every young entrepreneur needs to know. The stuff that gets lost in the noise about why some companies fail, others succeed, and others still never make it off the ground.

Today is all about learning the ins and outs of the industry and how the right mindset and a basic understanding of the market you're about to dive headfirst into can make all the difference.

Let's do it.

Failure Is an Option

You want to start a business? Do it as fast as possible and forget about what "might" happen. Seriously, things fail…a lot. For every founder who struck it rich in his first go, there's a thousand other founders who tried and failed a dozen times before making it happen.

In this game, be ready to face plant every now and then. Better yet, get excited about it. Failure means you're learning, and when you learn, you get smarter – smarter than the competitors who tend to quit after one or two trips. You will probably fail, so prepare for it now and know that you're going to get smarter and be capable of doing more because of it.

Does that mean you want to fail?

Hell no. Everyone wants to succeed, but be ready for failure. 

The startup world is full of people who went to the grindstone for their ideas. Tried over and over again to make it happen and eventually found success.

But there's a catch to all this.

If you're going to fail, do it sooner than later. Technology moves too fast. Evolves too quickly. You need to be quick on your feet, and more importantly, willing to know when to call it quits.

If you don't, your competitors will beat you in the inevitable arms race that ensues or you'll fall victim to the very real risk of scope creep or vaporware.

At a certain point, when failure rears its ugly head, you're throwing good money after bad. When you put an idea into the world and attempt to start a business around it, endless failure with no success in sight is a sign – a sign that your idea isn't meant to be, at least not yet.

Does that mean it will never work? Maybe not, but without countless hours and a bottomless pit of money, you'll never know. Any project can succeed with enough money behind it. Will it profit, though? No. What you want is feedback – positive feedback that shows you from the minute you press "start" that it's worth your time.

Anything less is a failure and you need to be okay with that.

What constitutes a failure?

  1. Poor user feedback – What do people say after using your app? Are they eager to keep using it? Would they pay for it again? Do they want their money back? The feedback you get up front (even from family) is huge at this point.
  2. Slow user growth – How long does it take to get new users. Quick user growth means an app that people need – something they show to others and get excited about. If no one is signing up, maybe no one needs what you're offering.
  3. Not making money – Bottom line, if you don't make money on a project, don't keep doing it. It's not a hobby, it's an investment, and good investments give a return.

If you create a product and people don't like it, your product may be a failure, and to avoid over investing in a failure, it's time to start over. The best part, though? You've only spent a tiny bit of time on that idea. You aren't so invested that you HAVE to continue.

The point of no return is miles away and the "loss" of failure is still far off. Yet one more reason why the quick start approach to a startup makes the most sense – you aren't as mentally invested if the product isn't a winner out of the gate.

To put it simply, it's better to lose $10,000 today than two years of your life. Trust me, it will be MUCH harder to give up after that time is gone.

Here's a bit of advice – don't be in anything for the long haul. Once you break that point of no return, failure starts to hurt…a lot. The sooner you are willing to admit your idea is dead in the water and refine or restart, the easier it will be to accept that a second try is needed.

Entrepreneurship 101

You don't need an MBA to start a business. Heck, you don't even need to have finished High School.

There are a few basics we're going to knock out really quick, but if you really want to start a business, my advice is to just do it. Don't sit around and think about it or read 30 books on the topic or watch movies wondering what if. Get out there and build something. Seriously, put this book down and go do it – you're wasting time.

So, let's keep this as short as possible.

I've seen a lot of bad and a bit of good in the industry, and as a result I've seen a lot of business owners screw up their chances. Here are some of the most common mistakes I've seen – don't repeat them:

  • Going into business with friends/family – Just don't do it. There's baggage, there's expectations, and almost guaranteed someone will let you down. What happens when it all falls apart – do you fire your best friend? Don't let the success of your business hinge on one of your closest (and potentially most fragile) relationships.
  • Quitting your job – Just don't do it. If you're embracing failure, you'd better have a way to pay the bills. That would be your day job, my friend.
  • Being nice to your friends/family – Don't give away your product, give extra time to your friends, or help them anymore than you would normally. Making exceptions for the people you're closest to is a sure way to sink success before it sails.
  • "Eating your inventory" – The same goes for yourself. Don't use your own product or service into the ground, and definitely don't spend every dime you make. You'll need it for later. More on salary shortly, but here's as hint: you won't be getting one (at first).
  • Working in the business instead of on it – Work on the business, not in it. Replying to customer questions and updating website copy is all fine and good, but you should also be improving software, coming up with new ideas, and looking for ways to grow (more on that later).
  • Starting big, not thinking big – Thinking big is great and it's a hell of a lot fun (working on the beach anyone?) But don't start big. Think big, start small and get done what you can. Don't overdo it.
  • Paying for the best – With almost no exceptions, paying for the best guy out there is a money sink. Pay for the best you can afford right now (which will be pretty cheap) and fix it when you're big.

This list could be longer. MUCH longer. Let's leave it at that though. Success with your new company will depend on two things – you getting stuff done and you not being afraid to take the next step.

Do those two things and you'll either succeed or fail, but at least something will happen. That's already better than 90% of the people out there with "cool ideas".

You're On Your Own

People will say a lot of things to you while you build your business. Some will be supportive. Others will take apart your ideas. Others still will be quiet until you start making money – then they'll become insanely jealous and want in.

It doesn't matter. This is all you and that means you're on your own. No one's going to give you money for your project. No one is going to help you if stuff goes sideways. Heck, no one really cares that much about your business (except your mom, she cares) – if they say otherwise, they're just being polite.

The truth is that most people screw this up and fail, and your friends and family are thinking exactly that right now. "When is she going to screw up and fail?" They're waiting for the moment they can say "I told you so". The best thing you can do is focus on your business and show them otherwise.

Types of Businesses

If you plan on starting a business, actually start the business. Doing stuff in your basement and putting it online is a hobby. A real business has a legal structure and some form of protections.

Quick disclaimer – I'm not a lawyer and you shouldn't listen to a thing I say when it comes to this stuff as far as advice. What I can tell you is what I know from my own efforts and how they will affect you.

Here are the business structures you can choose from in the US:

  • Corporation
  • LLC/LLP
  • Sole Proprietorship

What's the difference? For our purposes, not much. A corporation is pretty much out from the start because it's designed for larger companies with larger assets in larger markets. Maybe someday, but not now.

For a regular guy starting a new business from scratch, you don't need much, but you do need legal protection. You'll get that through an LLC (limited liability company). Basically, this makes it so the actions of your company are legally tied to your company. People can sue the company but not you personally. Anything less and you're wide open. 

Legalize It

Don't just think about it, do it. In most states, this is easy. You can use a site like Legal Zoom to grab your paperwork and start the process, and whether you know anything about business law or not (I'm going to guess not), it'll walk you through the process of forming your organization.

If you're on your own, this will protect you if something goes south and someone wants to sue. If you're working with cofounders, this will protect you from getting Zuckerberged. Doesn't matter if they're your best friends (see above!), those jerks could throw you to the wolves if it meant the potential for a 6 or 7 figure payday.

On top of the liability and ownership components, what if something goes wrong? A ton of stuff gets overlooked in the day to day operations of a business from a legal stand point.

Use the documentation to map out as much of that as you can in advance. This literally takes 30 minutes so there's no reason not to do it. And when you do, you'll have a plan for if the business shuts down, who gets what if it's successful, how to handle someone not doing their share, and a whole bunch of other possible situations.

It's not free either so make sure you're ready. Every state has different fees both to start and to stop a business – be aware of these in advance and ready to pay them. Keep in mind before you run off to Delaware to start your business that if you want to work with the government, local is better. A lot of municipalities are legally required to buy a certain percentage from local small businesses.

Profits and Salaries

Before the dollar signs get so big you can't see the ground in front of you, keep in mind how much time and money goes into creating any successful business.

When you start a business, you lose money. Until you start earning a profit, you're putting money into the machine. If that machine doesn't start returning more than you put in, there's nothing to give yourself.

That said, if your startup is successful there will be a time when that happens. It might take 6 months or it might take two years. It depends on what you're trying to do and how much you spend to get to the point of a profitable business. Unlike Wall Street, the CEO of a startup should be the last to receive a raise.

For now, though, you'd better be putting every dime you can back into the business. It takes money to build a profitable endeavor; if you don’t invest in it, you can't earn a profit down the line.

There's a serious personal choice here you'll need to make – are you creating a business to grow so you can exit and take a single big pay day? Or are you creating a career for yourself – an opportunity to do something you love for years to come?

The answer to that question is going to have a HUGE impact on what you pay yourself and when.

Marketing

When people find out I've started companies in the past, they tend to ask about the marketing. How did I acquire users? What did I do to kick start the marketing campaign? The truth is, things used to just be easier – you build something awesome and you sell it – period.

So, I hate these questions. Putting lipstick on a pig will only get you so far. Sure, it matters that you have a kickass idea, know as much as possible about the people who would buy that idea, and have at least a partial plan in place for how to attract those people once you build something, but most of a "marketing" plan is stuff for much later. In week one we build a product – we'll worry about selling it later.

You can't start a business with hype and clever copywriting alone. You need an awesome product, and that's what we're going to focus on.

So what exactly DO you need right now? Hint, a lot of it can wait.

Internet Software 101

It's hard to imagine, but the Internet is almost 30 years old, and boy has it changed.

As long as there has been software there have been different types of devices to run it on. The differences between devices meant writing the same software multiple times; once for each device and the development cost and time was extensive. Macromedia (Adobe) Flash and Java were created to address this specific problem.

But things have changed dramatically in the last decade. Flash is in a death rattle with decreased or non-existent support on a number of platforms. Don't build anything in Flash. Period. Java existed on the web as Java Applets but those have been dead and gone from the web for years. And honestly, good riddance to them both.

Today, fewer than ever software packages start as native apps – they're almost all web based and on a subscription model. Google and Microsoft, the biggest fish in the pond, are well down that road and will continue driving change.

Why?

Because it makes more sense. How many devices do you have in your life? A laptop. A tablet. A mobile phone. A desktop at home. Every one of those devices should be using the same software and sharing files. Why not? The technology supports it. The "write once, run everything" dream has finally arrived.

Development is catching up with those demands and it means new companies (like yours!) need to think forward – developing content that matches those specific needs. Whether mobile or desktop, client or server based, there are a lot of questions you'll need to answer before you start creating your first product.

A Brief History of Internet Software

Internet software is a whole different animal. These are the tools that have native online capabilities and essentially require the Internet to function effectively. Today it's a no brainer that apps need to do this, but twenty years ago? It was a revolution.

In the early days of the Internet, there were a lot of web browsers and each did things differently. Of course, that meant writing multiple versions of your website (and anything else you needed to run online).

How crippling was this approach? Microsoft, who had built an empire on desktop software and also happened to build the world's most popular browser is single-handedly responsible for delaying progress by 5-10 years. They did everything in their power to keep web software from taking off until they could develop a web app strategy.

It was infuriating. I almost quit the industry because of this and I wasn't alone.

These days? Things are different and they're changing fast. Google and Microsoft alike are heavily invested in web apps and the technology that powers them.

With Google, Microsoft and everyone else on board, offering the bulk of their software library as web apps and supporting growth in other areas, combined with the mobile explosion, the web has advanced more in the last 5 years than in the previous 15. 

The cloud is a huge part of this – services like AWS, Google, and Azure are making it possible to have software that runs like this – and increased Internet speed and accessibility to that speed is making it possible for tools like this to be more universal.

And for the consumer it's free.

This is a new world we live in and it's only a matter of time before we reach a point that ALL apps are developed as web-only and multi-platform.

In the meantime, you have to make a choice.

Mobile vs. Web Applications

There are the web applications that run in a browser and can be accessed from almost any device, and then there are the native mobile apps written specifically for a particular type of device.

There are hybrid apps too – web apps that have been wrapped in a special package for mobile. It’s a good workaround to get your web app into the world's largest app stores for mobile, and while they're a bit clunky now, they're getting better every day.

This will continue to evolve too.

Companies want to reach as many people as possible in as many ways. Mobile apps, web apps – it's all the same if you're always online. The key for you is to decide which platform makes the most sense for your idea.

Should you go native? Here's a good rule of thumb:

  • Is it a game? Go native.
  • Does your design feature a lot of animations or transitions? Go native.
  • Do you only want to target the iPhone or Android market? Go native.

Honestly, the only thing that web apps don't do as well as native right now is animation – trust me, that will change. Don't worry about whether an app is native affects your ability to target the mobile market – just worry about the best possible experience.

The right decision for you will be case by case. Should you be on mobile? Probably. But how you get there will be determined by what you are building.

Mobile, Native Apps

Native apps are better for a handful of applications, but the code is the same. Because that code is written specifically for the operating system of the device on which it is running, performance is smoother and more seamless.

But if you view the source of any website, you'll see JavaScript – the same JavaScript you'd see in a web app or native app. The direct access to the full power of your device is what makes native apps better. 

Native apps perform better which means better battery life for mobile devices. They offer diverse entertainment options (games), and they look much better. They are design-centric with a lot of graphics and animations.

On the flip side, web apps play a game of telephone with the operating system. They tell the browser what to do, the browser tells the operating system what to do, and the hardware performs – the added step creates dips in performance for certain functions.

Mobile is Growing…

A lot. At the start of 2015, there were 3.649 billion unique mobile users in the world, more than half the world's population, and more than the number of active Internet users (3.01 billion).

That's a big number, but consider how much it's grown and how much it continues to grow. Of those 3.65 billion phones, more than 2 billion are smart phones. Those numbers are both expected to nearly double by 2017.

On the flip side, desktop sales have been on the decline for years. In January, 2014 mobile Internet use surpassed desktop use for the first time in history and it's still growing. The bottom line, desktops are going away.

The only way you'll see desktop computers in 40 years is when your hipster grandchildren pull them out to use ironically like you use record players today.

How We Build for Mobile App Stores

So if mobile is the new reality for developers, how do we build for it and where are those apps sold?

The status quo since Apple launched their App Store in 2008 has been the centralized app repository. There are differences to be sure – Apple's is curated, Google's is not, and Amazon's is somewhere in the middle – but they all do roughly the same thing. Create a dumping ground for apps that people can access from their device.

The wild west days of desktop software are gone – there aren't 10,000 shareware websites with buggy software and (probably) fake reviews. Just one place and one set of rules.

The pros of all this? The audience is enormous. There are millions of apps in each of these stores and billions of downloads. The Apple App Store sees more than 1,000 downloads per second and that's just one outlet. So if you sell here and you can hit big, you hit really big. A #1 app in this ecosystem is like hitting the lottery.

It's how Clash of Clans generates hundreds of millions of dollars in revenue PER MONTH from a relatively simple tower defense game. These guys got the eyeballs and only an App Store model makes that possible.

On the flip side not everything is sunshine and roses. For every $1 you make, $0.30 goes back to Apple in the App Store.

Apps. In-App Purchases – all of it. They get a cut.

If your margins are thin, they're about to get a whole lot thinner and that's not including advertising and other expenses.

Then there's the curation issue. While Google's app store is something of a free for all, Apple curates every app they add. You can get denied for any number of reasons, adding to development time and delaying your turnaround time on updates or new versions.

Then there are the technical hurdles. When developing for mobile you have to worry about:

  • Slow, intermittent Internet access – We've come a long way, but let's face it – wireless Internet access isn't perfect. From dodgy cell connections to off-and-on WiFi, you can't assume everyone's connection is perfect.
  • Many different types of devices – If you're developing for iOS, no worries – there a half dozen devices all running the same operating system. Easy. If you're developing for anything else, not so fast. Android in particular is a fractured nightmare with a dozen different versions on hundreds of different hardware configurations – your app needs to work on as many of these as possible.

That's not to say mobile isn't the future – it is and you can't fight it. But there are downsides to betting everything on the same store.


Websites and Web Apps

Then there's the flip side – the slightly older school approach with websites and web apps that are designed for desktops and laptops.

There are plenty of these tools – especially in the B2B space where mobile isn't a perfect replacement for the powerhouse machines most offices have.

While the market is shrinking, there are still billions of desktop users out there and the environments are becoming more developer friendly as Windows consolidates and PCs start to look more and more like hybrid devices.

How Website and Web Apps Are Sold

Both Microsoft and Apple offer central app stores for their operating systems. If you choose to sell this way, you can benefit the same as you would from the mobile app store with all the same drawbacks.


The major difference between mobile and desktop, though, is that you don't HAVE TO do it. You can promote your apps through your own website, with an advertising campaign, by reaching out to influencers – you can do whatever you want and if you run the sales through your own website you cut out a LOT of the margin-eating fees that app stores might charge.

But then there's the hassle of delivery, and technically speaking you need to be sure your apps can work in all environments. How is your web app designed and optimized for rendering engines and JavaScript engines being used in the major browsers?

That's no small task. It's also very time consuming (and expensive) to test, and that's not even considering all the different hardware configurations you'll likely deal with.

Instead of going through all of this over again if you have done the legwork and creating a new app for mobile, there is another option…

Hybrid apps package the contents of a web app to a mobile device's ecosystem, allowing you to run the same experience through a mobile device. There are some hits to performance in the transition, but it's been getting better rapidly in recent years and with the advancements some companies have been making in shared code-base, this is only going to continue to get better.

The bottom line is that if you want your app in browsers and mobile devices, you can do it with very few exceptions. It will depend entirely on how much of a performance hit your app can handle.

The Future of Web Apps

There's good news though. This is changing. Lines are being blurred.

Mobile phones abide by Moore's law as much if not more so than desktops and laptops. The newest chips from ARM and others announced early in 2015 were 50 times more powerful than those chips in smart phones five years ago. Apple's chips have increased in power about the same amount in the same time period – making those first iPhones look like bricks from the '90s.

They are catching up and it's only a matter of time until small devices can handle big projects. Whether it's a projector, a dock, or just a really high resolution making it possible, even the most robust apps will be workable on a smart phone.

For this reason, hybrid apps make sense. It's the future, and if your product can be managed with today's technology as a hybrid solution, it will be better positioned for the next step when things start to get even better.

How Internet Software Works

Let's dive one level deeper and discuss how all this software actually works. What's going on, not only in front of your eyes but behind the curtain.

There are three elements in most modern Internet software:

  1. The client that your users will download, access, or open up when they need to use your software
  2. The server that remains behind the scenes doing big heavy stuff
  3. The cloud, a new addition to the landscape that has changed a lot of how we talk about the first two.

Let's take a closer look at all three:

The Client – What the User Sees

Software clients are both the shiny red paint job that gets people behind the wheel for a test drive and the surge of adrenaline when they hit the gas. They are what your users will interact with and will ultimately make their decisions on.

This is the app that your user downloads for their mobile device or the website where they go to login to the tool. With today's technology, the client is also extremely powerful and can do a lot more than it once did – going as far as to negate the next two pieces of the puzzle.

The Server – Behind the Curtain

The server is behind the scenes, pulling levers and running the big complicated stuff. If the client is your paintjob, this is the engine under the hood and for years this is where most of the actual work got done with Internet software.

Server-side software comes into play when there is a database – a large store of information that needs to be accessed or worked on to enable the client to do its thing. Think of Facebook with its billions of user accounts. Sure you can see and interact with many of them, writing on their walls, posting videos, tagging photos – that's all client-side stuff.


But the actual user information lives on the server and when you search for something, the gears start turning and the server goes to work digging through its massive database to find what you are looking for.

Here's the tricky part.

Not every piece of Internet software needs a server. A lot of tools are all client, fully self-contained in a single package. Think of the calculator app on your phone – it just adds and subtracts numbers, no need for a server to give it the answer.

This is very important because software that uses a server means fees and operational costs on your end – a big question mark when it comes time to outline your software. Alternately, you use the cloud.

The Cloud

As simply as I can put it, the cloud is a network of servers that work together do "stuff". It is how we can get around costly server maintenance and backend-heavy applications. It also helps power easy and quick access to information from any app – web or native.

Your email, Google Drive, Facebook, Dropbox – those are all cloud applications because they allow you to do something in one place and access the information anywhere else.

There's a freedom involved that makes it infinitely more flexible than just another app. And it keeps getting more powerful. More often then not, the cloud represents existing software you can buy and integrate into your own.

Third party services like Mail Gun are a prime example.

One of the biggest hurdles in development is email server management – specifically notifications. If someone does something in a web app, a notification needs to go out.

Mail Gun is a cloud based service that developers use to handle all of this without needing to worry about server maintenance. One big headache eliminated.

There will be many such headaches when you build your product – third party cloud services are the first place to look as potential solutions that cost less and make life easier. There is zero reason to run your own mail server these days. It's a waste of time and energy and can lead to you getting hacked – the cloud and the tools that utilize it make this possible.

The Complete Software Lifecycle

Before you start thinking software development is a breeze, let's take a look at the lifecycle. From start to finish there are seven stages, and believe me, you'll be cycling back through each of these many times.

It all starts with an idea or concept. Then it dives into Design, Development, Testing and Quality Assurance of the prototype, release of your initial product, and finally ongoing bug fixes and improvements, and new update releases. And if your software is successful, you'll loop back to the design and development phases again and again as you build out a tool that does everything you can imagine.

So what does this cycle look like in practice? Let's take a look at how this pans out and what you can expect from each of the seven steps:

Step 1 – Idea/Concept

Skip this step at your own risk because understanding what your software will do and more importantly, how it will do it in a cool and exciting new ways is super important.

This is where you figure out the problem you want to solve and how you will solve it differently or better than every other developer out there. It's also where you determine who you target audience will be and how you are going to pitch the product to them when it's ready to ship.

Costs

  • Not a dime – your ideas, your time, and your research. This is all you.

Goal

  • Pin down who the software is for
  • Outline the problem you are solving
  • Create a list of features your app will have
  • Outline what the app will look like
  • Create a list of similar tools and features

Step 2 – Design

How will your software look, what are the interface requirements, what is the workflow from one screen to the next, and how is information recorded when an action is taken? The design stage is where all of these big questions are answered.

Design is about more than just "play random music based on a user's suggestion" – that's an idea not a design. Design is about describing HOW the idea will be realized and implemented in a realistic, easy to use, and effective interface by your users.

It's why this is one of the ONLY areas I recommend you seek out professional help – get a second pair of eyes on your design before going to development to make sure you're not missing anything.

Costs

  • Totally free as long as you're working on the design alone (which you should).
  • When done, though, consider throwing a couple hundred dollars to a pro to review your designs and point out any holes.

Goal

  • Map out every screen of your app
  • Create a workflow for the user's actions
  • What colors and design elements will be used in the interface
  • How is information recorded
  • Is the software client only or does it require a server-side component
  • What features will you buy vs. build?

Step 3 – Develop

With a design in hand, your developer (or you) can go to town, writing the code that will do all the awesome stuff that's been outlined.

This isn't paint by numbers, though. Development requires a level of flexibility and creativity that allow the software to do what it needs to do within budget, time, and feature restrictions. Your design might call for some really cool stuff – the developer's job is to make it a reality in the most efficient (and effective) way possible. Version 1.0 isn't about making it perfect. It's about making it work.

Costs

  • Ideally, do this yourself and don't spend a dime.
  • For those who can't or don't know how to do this solo, spend whatever you can. Whatever your total budget is, subtract all other expenses and the rest goes into development. And because all development budgets will balloon to double their starting point, divide that number by two and you have your budget for development. Realistically, you're looking at $5,000 for a small-medium sized app to be developed to a decent version 1.0.
  • When hiring a developer, be sure to include the cost of revisions and bug fixes in the contract to make sure not only that they will be available but that there will be no surprises.

Goal

  • Create a working prototype of your product
  • Create a working model that handles all basic functions

Step 4 – Test/QA

Of course, even the most creative and flexible developers make mistakes. Software is as much about finding and fixing mistakes as it is about building the mechanism. Testing and Q/A should be completed by as many different people as possible – bringing in your friends and family if necessary to go through each and every step of the software and find even the tiniest bugs.

Of course, when it comes to iterating and launching new software, sometimes some bugs are a bigger deal than others – you can't fix everything so this phase is also about prioritizing what makes your software work vs what makes it "nice". With that said, always focus on fixing bugs before adding new features.

Costs

  • Don't skimp on testing. It's the last barrier between bad software and your customers. Decent Q/A testing will cost you $10/hour and expect 20-40 hours for solid testing. Total budget here will be between $200 and $400.

Goal

  • Identify any major, platform breaking problems
  • Get the software to the point it can be released
  • Create a list of future bugs and improvements

Step 5 – Release

Now it's time to get your app out there. Don't delay on this step any longer than is strictly necessary. Build your prototype and get it out the door as soon as possible – the sooner you get feedback on what your software does right (and wrong), the sooner you can start improving on it and making money.

Don't make this stage into something bigger than it is – the goal is to get it out, not to agonize over every detail and hold it up.

Costs

  • Some app stores charge fees for uploads and updates, but most are free or close to it. Costs here are nominal.

Goal

  • Launch the software!
  • Acquire your first users and get feedback fast
  • Ask for input on new features and bug reports

Step 6 – Bugs & Improvements

Your users are going to find bugs. They're also going to find new features they want, tweaks they'd like to see made, and a hundred other issues that will fill up your inbox as quickly as they can write them.

This is good. It means they care. The key now is to prioritize those things and start fixing them. Create a log of the most vital changes and knock them out in small batches, as quickly as possible but without delaying each release update.

Costs

  • For every bug you find, you'll need to document it somewhere. A spreadsheet isn't going to cut it – so you'll likely want to pay for something better. Expect a small monthly fee.
  • When you fix a bug, you're paying a developer so expect more development costs for every iteration on your software.

Goal

  • Identify any bugs that are reported
  • Add bugs to a log and address them
  • Address the most important bugs first
  • Get the software to the point it can relaunch

Step 7 – Release Updates

Finally, there's update releases. Internet software is updated and patched nearly constantly, and because it all happens in real time, most people don't realize updates have been made. Trust me, every tool you use online is being updated at least once a week, if not more often – with tiny bug fixes, new feature releases, and a million more things that you may not notice for days or weeks.

Step 6 and 7 will recur for as long as your product exists. Short of shutting the whole thing down, this is a near constant process. If you have to keep doing this, it's a good sign.

Costs

  • The costs here are all customer service overhead. Talking to people, fixing updates, and communicating new changes. At this point, this should be all you.

Goal

  • Create a regular schedule for software updates
  • Relaunch and communicate to users the changes
  • Get new feedback on how the updates operate
  • Perform testing and Q/A to ensure bugs are fixed

What Your Costs Will Look Like

The cost of software development can spiral out of control quickly if you don't plan for it. I'm going to point out a lot of decisions you'll be making in the next seven days that will impact cost and how you can safely cut corners without hurting the final product. To start, though, let's look at what you'll be spending on administrative, development, and ongoing costs.

Administrative Costs

This is your people time – the hours you and anyone you hire (or beg) to work for you spend on developing and managing your software.

Early on, this is practically nothing. Other than your own time, which you can use as much as you want (until it runs out of course), there's no cost to administrate this kind of project.

It gets worse with time though. As your software grows and you bring on users, admin will become a bigger part of the puzzle:

Billing. Support. Sales. Account management.

If you have to deal with these things, you're in a good place, but you should also be prepared for the costs they'll incur. It gets expensive fast. For now, do it yourself and save some money.

Development Costs

Development costs should be the bulk of your budget. Subtract everything else you need and there's your development budget – spend as much as you possibly can because the gap between a cheap developer and a decent one is a mile wide.

If you can do this yourself, of course, you save a TON of money, but for those that aren't quite at that level writing code, expect to spend upwards of $5,000 for a solid version 1.0 of your small-mid sized app. And realistically, that means you should budget for about $2,500 because no good project is complete without cost overruns.

Whatever amount of time your developer quotes, double it and there's your final budget. 

Ongoing Costs

This is all the little stuff you'll have to pay for every month – the services, fees, maintenance and everything in between that goes on your credit card and that can add up to a small fortune if you're not careful.

Are you beginning to see why quitting when success doesn’t happen fast enough is a good idea?

  • Server Maintenance – Everything falls apart without this. Don't be afraid to invest wisely in a server that will stay up and run smoothly all the time. Hire a third party to do it for you and make sure there is redundancy – downtime costs money and hurts users.
  • Customer Support – Support is very important, but right now you can handle this. Unless your app goes mega-viral and you need to bring people on to man the phones (good problem to have), handle any requests or issues on your own to keep this cost under control.
  • Third-Party Services – There's a laundry list of third party services to keep in mind – payment processing, video delivery, software you purchase for in-house management, invoicing, email notification delivery – the list gets long, fast.
  • Fees – Everyone takes their cut. Expect fees on all transactions as well as data usage for cloud tools like Amazon S3, and server fees if your bandwidth goes too high.

The bottom line is that creating and selling software gets pricey. The fewer costs you need to incur just to launch your product, the better. The good news is that most of these costs don't scale up with the business – up front is the most expensive part of development, so keeping the costs down now will benefit you both now and later.

Build vs. Buy

Here's the coolest part.

You don’t have to build everything. There are a lot of very smart developers out there building really cool stuff.

Nobody builds anything truly from scratch because they don't have to. Anyone who does is making a rookie mistake.

But there are some things you'll want to build – features and tools that don't exist elsewhere or that you don’t want to incur a whole bunch of extra costs on.

When building, you'll have to deal with ongoing costs, maintenance, support, and a whole lot more, exponentially increasing your costs. Buying software or tools that fill gaps in your product eliminates a lot of that headache, but there will be monthly fees and there's downtime – a lot of it that you'll need to mitigate throughout development.

When to Build vs. Buy

You can't buy 100% of the pieces needed to launch a product. You'll need to build something – a bridge between the other tools that are out there that makes it all work together smoothly. This is what makes you special. What you build will be your unique addition to the industry and will help your product stand out – everything else is just there to make it work.


But there are limits to when and how you should do this. Why? Because it's damn expensive. Here are some of the costs you'll be looking at:

  • Ongoing Costs – The ongoing costs can be pretty darn big. There's the actual development time of your developer, time spent fixing bugs and updating software with each revision, and the time spent performing QA and testing on each of those updates. All that time means money out of your pocket.
  • Maintenance Costs – If you launch a web app or your mobile app requires server communication, you'll need to pay ongoing maintenance costs for those servers. Additionally, apps that are in app stores or on frequently updated equipment need to be updated as well – new operating systems are a big cost point for app development, usually resulting in new updates needed 2-3 times per year.
  • Support Costs – If someone has a question, there needs to be a human on the other side to answer it. If you built the software, that someone is you. While bought software gives you a resource to turn to for answer to such questions, in-house built software requires you to do the extra legwork on your own.

The bottom line is that when you build something, you are responsible for it. You can't ping customer service and complain because you are customer service and if you can't afford to keep it running smoothly, your product is going to have problems. So only build if it's a core part of your business or product.

Buy Everything Else

So once you know what you need to build on your own, you can buy the rest. The costs here are minimal, though there can be downsides, so play it safe when buying other tools. Some things you'll need to consider include:

  • Monthly Fees – If you purchase something, you're licensing the technology, and a license is recurring cost. Every month or every year depending on the terms, you'll need to pony up a hefty chunk of change for every tool you buy. Some tools cost more than others, but it's a very real expense to keep in mind.
  • Extra Downtime – When support is needed, the wait can be longer than if you handle it in house. It slows down operations and if there is a third party involved such as a vendor, the time can extend even longer. This leads to extra downtime as well when updates are made.

But you'll also get to remove all of the nasty, unwanted bits of the software lifecycle, streamlining how you iterate and update your tools. It's faster and a lot easier.

Great software is a combination of the above – it's a result of buying what already exists and gluing it all together with the product or service you are creating mixed in as needed. It's faster, cheaper, and more effective than just building it all from scratch, and it's the only way to really launch something quick and with minimal risk.

In short, it's what you should do. The real question now becomes; how do you do it?