So you woke up in the morning with a creative idea and you believe it will be very popular and will certainly make you millionaire? Then you are not alone. We all get struck by awesome ideas which we think will change the course of the future. Some of them are just our thinking but few such ideas has really changed our lives. Then why take a chance? Lets make a refined product out of our vision and change the future. Most ideas just remain “ideas” due to the lack of proper guidance. So in this and next two post I will be guiding you to create a mobile app out of your vision.
Most people think that developing an app is just writing bunch of code, but writing a code is just a single steps of app development. All other stages are equally important to develop a better app. I have categorized them into ten steps:
1. INITIATION PHASE
Before starting this phase you need to have some ideas for your application. It does not needs to be organized, just a fuzzy vision for the app will do the job. In this phase we are going to define the purpose or goal of the app and a detail plan on how to achieve that goal. You also need to do some research about similar apps in play store, that will help you to expand your vision.
Here you have to create a Project Plan defining all the tasks, stages and milestones of the project. In some projects a Project Initiation Document will also be created, this defines the project so that at future points in the lifecycle everybody is clear about the original goals, objectives, price, etc.
You can also draw the screens for the app that defines your concept. Sketching your idea will also help you to understand your vision more clearly. You visually conceptualize the main features and the approximate layout and structure of your application.
2. REQUIREMENT ENGINEERING
After you have your clear vision for the app and have clear set of goals on how to develop your app, you can start requirement engineering process. In this phase we will expand the goal of the app. This is what the app will achieve, what it does and how it will benefit the user. They will also establish the target audience, as knowing who the app is aimed at will affect how the app is priced and marketed. In this stage we will also see whether the app is within the gasp of our budget or not. And we can also discuss if the app is feasible or not. There are bunch of Wh- questions we need to ask ourselves in requirement engineering.
- What is the goal of the app?
- Why is my app different?
- Who has developed similar app like mine?
- Who is the app targeted for?
- When do the user use this app?
- What are the benefits of the app for the users?
- Where are the users based?
When we develop an app we certainly have mindset of making some profit.Therefore it is essential to consider the various different monetisation methods for mobile apps. Different techniques for earning profit from our app are
- Paid App
- In-App Purchase
- Admob or iAd integration
Milestones are the stages that divide up the development process of a mobile app. Establishing milestones allows for better structuring of tasks and working time. Using milestones will give a better idea of the timescale involved in creating the mobile app. The average time of the app development process for Android and iOS is eighteen weeks.
Wireframes and Storyboard
Next step is to create a wireframe which will show how the mobile app will operate. Wireframing is the process of creating a mockup or prototype of your app. By creating a wireframes and storyboard your ideas and features fuse into a clearer picture. There are many mockup softwares such as Balsamiq, Moqups, and HotGloo which can be used to create mockup and storyboard of your app.
3. TECHNICAL ANALYSIS
We need to consider following points in technical analysis :
- Scalability (inbuilt room for app to grow)
- High Availability (designed with low down-time in mind)
- Maintainability (easy for future developers)
- Modular approach
- Portability (e.g. various mobile platforms – Google Android, Windows Mobile)
- Usability (developed with the end-user in mind)
- Version Control
In this phase we need to discuss about the technical things that are required to develop our app. For example the type of backend we need for our app, or decide whether we need any backend or not. We need to determine the database requirement for our app too. Having a database like SQLite (recommended) prevents data from being lost if the app is closed.
We also need to discuss following questions in technical analysis
- Do we need to store app’s data?, if yes, how are we going to store it?
- What type of database are we going to use?
- Is our app static or dynamic?
- What are the security requirement of the app?
- How are we going to handle flaw in app’s security?
- Are we going for third-party integration? If yes what are our option?
- How are we going to further develop the app in the future?
After finishing technical analysis we need to create a project documentation. The documentation should cover following topics
- Problem Statement
- Budget and timeline
In part 2 you will be introduced to the Design, Develop and Testing Phase of App Development. Check it out here.