Creating an app is a software project, and usually much more complicated than most people first anticipate. There are many things to consider, and if you want your dream app it is going to be expensive. And it's not certain that it will become a success. I hope you can use some of these approaches or tips if you want to create a new app or another type of software project.
My recommendations are based on my experience and not a guarantee for success. Most of it are just minor elements of larger concepts, so another recommendation is to go to the sources and learn. Please also feel free to ask me for an advice.Don't forget to get your NDA's in order before sharing your idea with potential partners.
... and then do it again, and again, and again. This cycle is called the BML Loop, and is a great way to approach app development. Combined with another key expression, the 'MVP', which you will learn about if you continue reading, you are well on your way to become a successful app developer.
The BML Loop is a great way to approach app development, and it is of utmost importance that potential app owners learn that an app project is ongoing, and requires constant development and learning.
The BML Loop and MVP are very useful, because they are impediments to a common mistake that most app entrepreneurs do: Their app must be able to do everything perfect when it is released. This usually leads to a lot of useless features and a product that is not released - and your app project dies slowly before ever being released.
The concept it that you continously must build your app, release it and measure how the users responds to it, learn and create the next version (new features, maintenance, changes, bug fixes and so forth). It goes well together with the agile development method SCRUM, which most development teams use for larger projects.
Anyone who wants to create a software product should read The Lean Startup before getting started. The principles you'll learn here can help you avoid many mistakes and pitfalls you will encounter if you have no experience with software development.
The MVP in this context stands for the Minimum Viable Product. I learned about it when reading The Lean Startup many years ago, and have been using it ever since. What it forces you to do - in combination with the BML Loop - is focusing on the key features only, and release early. Get some beta-testers/users to help with test and feedback. Construct the next MVP based on what you've learned and start the BML Loop again. It's a basic description, but I hope the idea is clear.
The trap for many people is to get scared of releasing a non-perfect product. They want it to be perfect with all the features you can dream of. The problem with this approach is that you don't know what your users expect and how they behave, and you'll spend a lot of time, money, thoughts, stress and work on a products, with many features your users never use. With the BML Loop learning cycle, you can minimize the risks of doing this.
You probably need a development partner, so proposals must be collected. To enable them to create the best solution proposals, a detailed requirements specification should be created. This is one of the most critical and difficult tasks in this phase of an app project.
The requirements specification is the guide for you and your stakeholders during the project. It's the one you can always go back to when you need to make decisions during the project. It will make sure that the project is streamlined, that you don't go in the wrong direction during the project, and that you've asked the difficult questions - and found answers - befor eyou started the project.
It is also a document you can use to match expectations with all partners and stakeholders. It can make all the difference if it's done correct and used the right way.
If you need help writing a Requirements Specifications please feel free to give me a shout. I am currently working on an article on the subject.
You must always consider and calculate your budget carefully before starting your app project or getting funding. A few things I'll recommend you to keep in mind.
Development of an app is not a one-time purchase. As a minimum it will require maintenance, and if you're succesful more features and updates. In case you want to create a mobile app, you also need to consider the cost of getting the apps approved and updated when new versions of Android/iOS are relased.
How about marketing and sales costs? I have often had a conversation with potential clients about including a marketing budget and perhaps also include sales in their overall budget, because very few apps are succesful, and without marketing and sales you are running up hill. It can be done, but will require hard work and excellent execution of your strategy.
How will you make money? I'm not kidding, but a lot of people doesn't have a great answer for this. Have you thought about the commission for in-app purchases? There goes your profit and then some.
You would be surprised about how many people want to throw their savings into an app project without knowing anything about it. They get an idea in their mind that an app would be cool to create, but have no idea about how it works, and how to get their investment back (as a minimum). Don't get me started on the cost of development and maintenance. Please make sure you understand that an app must be maintained and developed if you want to be successful.
You want your app quickly and cheap = Low quality
You want your app quickly and in good quality = Expensive price
You want your app cheap and in good quality = Late delivery
In case someone convinces you they can do all three at the same time... well, up to you.When you get proposals on how to develop your app you might notice that the different companies will suggest different systems and software to use for the project. And it can be very tricky to find out what is the best solution for your project. I'll advice you to research the best proposals and their technology suggestions thoroughly before making your choice. What you choose now might be the backbone of your project for a long time, and the path you take will also close other paths. What I am trying to say is that there might be some possibilities with one system, but there might be some unknows issues that isn't mentioned in the proposal as well.
Most companies are heavily invested in some kind of technology, and some of them will try to sell you a solution based on it, even though it's not really a good solution. As an example I've seen people trying to sell ecommerce software as a CMS, which can be done, but the system comes with a lot of unnecessary features that'll only create confusion and trouble down the road. Luckily they didn't choose the ecommerce software, and got a nice solution in a CMS.
Here's a few thing I'll recommend you to notice during the buying process with potential partners. I hope it can help you make a more informed decision and weed out the bad proposals.
Are they asking the difficult questions? What is your budget, who has the responsibility for X, how should we communicate?
Are they asking you how to make money? Telling you about impediments and possible issues with your idea? Perhaps they know of your competitors?
Do they offer suggestions or need elaboration on complex subjects? If anything can be done without any issues, and everything is 100% clear on thr first meeting... something fishy is going on.
Perhaps they will show you some cases of how to solve an issue, which is usually a great sign. If they don't you should ask them to use some examples on how to solve X - how have they done it before?
Two of the most important subjects before you enter into a deal with a partner.
Does you and your partner have the same understanding of your project and how to approach it? Misunderstandings are a very common issue. Quality might mean something different to each person. Some people like McDonald's and other people want to eat steak.
Are your expectations aligned? Do you have a status call every day or is an e-mail enough? How about payment terms? What happens if someone is sick, or another issue delays the project? Write down as many details before you start, so you know who has the responsibility (yuk! I know.. it's horrible, but it must be done).
There are many things to consider for the inexperienced, but there is also a lot of help to get. Make a structured plan, write everything down and start talking with other people about it. It is not rocket science and anyone can do it if they have the time and motivation.