Monday, August 18, 2014

Ten Simple First Steps to Starting an App Business



H
ave a great app idea? But don’t know how to get started? Well, either did I until I took the plunge into the app world head first. Lucky for you, I made many mistakes before I came up with these 10 simple steps to get started. To learn more about my app journey read “Have an App Idea? Start a Business: How I didit under a Month (Part 1)” and “Failing is Succeeding.”


(1) Market research
The reality is that the Apple App Store currently has well over one million apps, and the number of apps is increasing every single day. In fact, many experts argue that the app store is over saturated.



 For example, apps like the calculator app are in such abundance and diversity in the app store that Apple has banned new uploads of this particular type of app. The phrase “there’s an app for that” has never been truer. If you don’t believe me, visit the app store and you will realize how many types of apps there are.

 Unfortunately, for most of us, our earth shattering app idea has probably already been created. So what does this mean for you in your journey to create an app business?  As soon as you have an idea, you must ask: (1) Has your app already been created?; (2) What apps are similar to yours?; (3) How does your app stand out from the competition?  

Now, even if your app idea has been taken, do not lose hope. Many developers still compete in the crowded app market space by improving upon an already created app idea. Nevertheless, we must ultimately ask ourselves how our app is going to leverage a reasonable market share, attract and keep loyal customers, while turning a profit. If you have reason to believe that your app is unique enough to accomplish the aforementioned points, then proceed to step two.

(2) Create a flow chart
Although app ideas can range from simple to complex, even the simplest ones require an outline or flow chart. Think of your app like a puzzle, with many pages, buttons, functions, and alerts organized into a systematic and logical framework that allows your app to function. As with most things in life, there are many ways to skin a cat, but, in the world of app development, you must find the simplest way possible to organize the framework or skeleton of your app. Always think of your users, otherwise known as your customers, when developing this chart. Think of what would make this app easier and more intuitive for your users to use and keep using.

Also, take into consideration your future developer. Of course if you are a developer yourself then you will not have to worry about explaining how your app functions to a third party, but, for those that do not have the developer acumen, you will have to hire a contractor to code the app.

As with all communication, the message can be lost in transition. In other words, it can be very easy for your developer to misunderstand or misconstrue your idea. If he begins the app development process without the exact and correct framework for how you want your app to look and function, you are asking for future headaches, extra development cost, and loss of time because your developer will have to fix any inconsistencies with his beta version and your original idea.

So, you must break down your app idea into a step by step logical progression for how the app functions via a flow chart. See the example below:




 Through this process, you will realize there are many steps, functions, alerts, push notifications, etc. that the app requires, but were not readily apparent when you first envisioned the idea. Don’t get ahead of yourself yet, however. At this point, we simply want to outline the broad logical strokes of how the app works. That is, when creating your flow chart, focus solely on how each page of the app interconnects. In the next step we will illustrate how each page of your app is organized.

(3) Create wire frames
You now have your flow chart in hand. Think of this flow chart as the skeleton of your app. But, the app still needs the tendons, ligaments, muscles and veins, to give the skeleton life and the ability to move. Although your flow chart has described the broad logical structure of your app, it has not yet detailed how the app will look, where the buttons will be placed, and how the user will interact with the app. As a result, we need to illustrate each page of your app. This is the beginning, the embryo of your user interface (UI). I must be clear that we are not yet focused on graphic design, colors, or logos, or any of the glitz and glamour—the skin—of your app, but, rather, this preliminary illustration is what we call wire framing. Wire framing is jargon for basic artwork or drawings that illustrate how your app will look from screen to screen. See the example below (of course you can use online wire framing software so that your wire frames do not look so crude):



Finally, once you have completed your market research, created a flow chart, and illustrated the look of your app through wire frames, it is time to hire a developer.

 (4) Post an ad on Odesk.com for a developer
Odesk.com, in my opinion, is the best place to find free-lance developers. In a perfect world, we would all know how to code. For that matter, we would also have the time, energy, and dedication to learn every skill that we needed to succeed in life. Yet, not only is this ideal not practical, but it is far from necessary.

The reality is that most of us do not know how to code and are not software engineers. But don’t despair. Remember you are a business owner. As such, you are the person who creates a network—a team—of professionals who can carry out your vision. Your first hire will be your developer.
This leads me to a slight digression. In many ways, this aspect of networking is what makes us humans so unique from other species. Our intelligence as a collective whole lies largely not in any one person’s ability or knowledge, but rather in the collective knowledge that is passed not only from one to another, but from group to group, and generation to generation. In fact, we are the only species that has this ability to pass on shared knowledge through the generations.




Ultimately, despite this awesome human ability, all networking humbly starts with reaching out to the people you need, and posting an ad on odesk.com is a very simple way to accomplish this end.

First, create an account and log in. At the top left of the screen, you will see a tab that states “Recruit.” In this tab, to the left of the search bar on the right hand side, you will see a green button that is labeled “Post Job.” Click this button, fill out the subsequent form, and push another “Post Job” button at the bottom of the screen. It is that simple.




As a point of advice, I would be as descriptive as possible in the ad without giving away any proprietary ideas that you don’t want the world to know about just yet.

Also, many of you are probably thinking at this point, how can I trust someone I have never met with my precious idea, my time, and my hard earned money. Of course we will proceed cautiously over the next several steps, but I will explain why ultimately we have nothing to worry about. In fact, hiring online contractors is not only a very safe and reliable method for accomplishing our app goals, but it is the most cost effective method for doing so.

(5) Screen your applicants, schedule your interviews, and have them sign a non-disclosure agreement
You’ve posted your ad! Now it’s time to reap the benefits. In my experience, I had over forty applicants in response to my job posting within two days. In full disclosure, I was shocked at how easy it was and that so many experienced developers were jockeying for a place in line to be hired by me—a person who has never created an app before and who, at the time, had little knowledge of the app development process.

But what do you do with all of these applicants? First, you are going to have to screen out the applicants who do not fit your criteria. There are three things you should look for when screening your applicants: (1) You should look to hire developers with more than one hundred Odesk hours under their belt. For the hours worked, look at the user feedback. Were people happy with their performance? Make sure that their ratings are above four on the one to five rating scale; (2) Hire a developer who has a minimum of five years of experience. Through my anecdotal polling of many developers, this seems to be the minimum requirement for making a hire; (3) Research the developer’s portfolio, which should be listed in their application and profile. Your hire should have developed a similar app to the one you are trying to create.
After you have found four to five solid applicants that you want to move forward with, you should respond to their applications by sending them a response message. In this message, thank them for their time and ask for a time that works best for them to interview via Skype or Gchat.






As a note, most of your applicants will be from overseas if you currently live in the United States or North America. In fact, most Odesk contractors tend to be from Eastern Europe, Asia, and India. As a result, the most cost effective method for talking to these individuals is via Skype and Gchat, both of which are free online services.



Also, in this message, ask them to sign a non-disclosure agreement (NDA). Relax, you do not need to hire a lawyer to draft an NDA for you. In fact, most developers will have their own NDA handy. Regardless, still supply your own, along with signing theirs. I received my free NDA through Rocketlawyer.com.
This form should be signed prior to jumping on the Skype or Gchat call. As discussed, although many of these developers are trust worthy, you should still take this minimal step to protect your idea. But, also, most legitimate developers are used to this process and will not have a problem signing your NDA. I see their willingness to sign an NDA as a first sign that they are trust worthy and legitimate. Of course, only the interview process can really tell you if you can or cannot trust a given developer.

So you get the individual to sign an NDA. But should you still be worried that they may steal your billion dollar idea, despite the fact that they signed an NDA? You may reason that the developer would be hard to bring to court, especially if they are based overseas. Furthermore, even if you could bring them to court in the case that they stole your idea, you may not have the funds to pay your legal fees. Last, it is very hard to prove that the person stole your idea even if an NDA is signed. So based upon all of these worries, shouldn’t we give up? No!

Here is why: specifically, an idea is nothing without the massive amount of work that goes into the development process of the app. My app, for example, is scheduled to take four months to develop. It will take hours upon hours to perfect the front end design and to code the back end of the app. And this does not even take into account the cost and work of marketing. In addition, most apps will fail, regardless of how great the idea is. Last, these developers, many times, already have their own projects in the works. Their steady source of income comes from people like you. So, stealing your idea is equivalent to committing Odesk suicide. This is because Odesk also has a built in layer of protection, such as an NDA and an implied contract that states all of the deliverables (i.e. code) is yours.  In other words, this evil developer would have a very hard time ever getting hired again if they screwed you over. Taking all of these factors into consideration leads any reasonable person to conclude that even the best idea is not worth stealing.

(6) Interview applicants
Once you have scheduled an interview time, you must prepare for the interview. Create a list of questions that you want to ask. These questions can range from getting to know the person to the technical aspects of the app. These questions should be thought out and should be based upon your research of the app development industry.

In my first interview, although I was the one doing the interviewing, I was not prepared for the technical jargon that would be required to interact intelligently with an app developer. For example, if you do not yet know the distinction between front end development and back end development, then do some more research to gain a general knowledge of how app development works before you begin your first interview.

 I have extensively used https://generalassemb.ly to gain a better understanding of the app industry. I also highly recommend hiring developers on Odesk for informational interviews. I hired three different developers at around thirty dollars per hour for three hours respectively. As a result, I gained a wealth of information that would not have been so easily accessed through other research methods such as mere Google searches, tech forums, or blogs.

Once you are ready for the interviews, it is important to note, that the interviews do not have to be completed in one sitting. In fact, it took many conversations with my current developer, both via Skype and via Gchat, over a two week period for me to make my decision. If a developer rushes your decision or is not willing to take the time to make you feel comfortable, then move on and invest your energy, time, and money into someone else.

Ultimately, the interview process is a personal one. In many cases, you do not have the technical knowledge to ask questions that will get at a developers true knowledge and ability. Consequently, you will rely on the next step—getting a tech savvy individual, in a subsequent interview round, to ask the hard questions. 

For now, in your first round interviews, you are looking at how the person communicates and interacts with you. You must ask are they competent, patient, and well spoken. I look for whether or not the person can, in laymen’s terms, explain his approach to app development. Furthermore, ask if this individual understands what you are trying to accomplish, and do they convey their ability to complete the project in a compelling way. Ultimately, you have to ask yourself are you comfortable with this person.

(7) Have a tech-savvy person interview applicants     
Perhaps number seven is self-explanatory. Simply put, unless you have a software engineering degree or five years of app development experience, then you don’t know what the hell you are talking about. Find a friend with these credentials who can ask the tough questions. Or, if you are feeling up to the challenge, find a developer on Odesk who you connect with, but that may not be your perfect hire. Perhaps you can pick one of the developers you hired for an informational interview. Use this person to interview your prime candidates.




These tech-savvy individuals will be able to tell you whether or not your prime candidates are in fact up to the challenge. Ask your tech-savy interviewer to come up with a list of questions that will uncover the applicant’s true coding knowledge.

 Although it may seem like an added step, the extra effort can save you a lot of time, money, and energy at the end of the day. Last, be upfront with your applicants by letting them know that you want them to talk to your friend who has more technical knowledge than you. As with the NDA, do not proceed with the applicant if they are not willing to have this extra conversation.

(8) Negotiate price and time-line that includes milestones
Do your homework. Ask a number of applicants for a quote for building your app. Also, search the web to see what others have paid for apps similar to yours. In addition, there are many different types of apps, ranging from games, to social media, to ecommerce, fitness, and many more. All of these different types of apps require different amounts of work to develop. So, prices will vary widely.

As with any purchase, the cheapest price is not always the best price. For example, one developer quoted me at eleven thousand for only the iOS platform and this development cost did not include the UI design. My current developer quoted me at fourteen thousand, but this price included iOS and Android platforms, a parallax website, pre-launch beta testing, the full UI design, and several other goodies. As a result, although the price was more than the first developer, I got a lot more bang for my buck with the developer I ultimately hired.

Last, make sure that the you NEVER pay the developer in full upfront. Rather, you should set up milestones based upon the different phases of the development. For example, unless you are developing a minimal viable product (MVP), you should have the UI developed first. Perhaps, then you would have the first beta test of the iOS platform, and then a next step could be the beta test of the Android platform. Regardless of how you break down the entire project, setting such goals allows you to mitigate risk because you will see step by step how your developer performs. Ultimately, this will also give your developer incentive to produce top notch work because each mile stone is an interview for the next milestone. In other words, he will not get paid until you approve the given milestone he is currently working on. If worse comes to worse, because you realize your developer is not able to deliver on his work, then you can always jump ship with your money still intact. 

(9) Negotiate deliverables
You must ask exactly what you are getting for the proposed price. But this goes beyond just asking what platforms the developer will develop your app for. Be very specific about what you want in your app. This goes all the way back to number two and three of this blog entry. For example you should be able to negotiate: How many pages will your app have; whether or not your app has push notifications, alerts, or sounds; if your app includes a complex algorithm; if the price includes the UI design; etc. The list can go on quite a while longer. Ultimately, brainstorm a list of functions and characteristics that your app will require and be sure to explain this to the developer before a price agreement is reached.

(10) Sign a contract
Finally! You have made it to step ten. Once all of the previous steps are complete, it is time to finalize your hire. Now, you must sign a contract. This contract is the keystone of the large amount of work you have completed thus far. It should outline every detail of the agreement that you and the developer have reached, including all of the deliverables and the price. Furthermore, make sure that the contract has clear language that gives you entire rights to the code and full ownership of the product.

Many of the better developers or development firms will have their own contract template.  If they do not have this option, proceed with caution. Ultimately, if need be, you can always hire a lawyer to draft a contract, but this can become pricey. There are various contract templates online through sites like Legalzoom.com and Rocketlawyer.com

Conclusion:
And so you have it. These ten steps allowed me—a once tech-illiterate app virgin— to start my app business. In my next blog entry, I will discuss how to legally start your business, and the next steps to getting your app noticed and funded. If you have any questions about this blog entry please leave a comment or email me at bendptv@gmail.com . As always, thanks for listening.

Best,

Benjamin Reed
Bendptv@gmail.com



No comments:

Post a Comment