I was deep into writing my next textbook on mobile app development for the non-programmer when I wrote a short segment on the mobile app life cycle. While this is similar to the traditional software life cycle, I have made a few adjustments for differences in the mobile sphere. Enjoy!
1) Design phase – This is the entry point where many apps never get past. You have an idea for what you want the app to do. The first thing to determine is if the device you hope to place it on can even do the tasks that you are requiring of it. If it can, is the project feasible? There are many considerations including development cost, software cost, time, I think you get the picture. If the project appears to be capable or being completed, then you move on to the next stage. Remember to include in this initial design phase how to make money from your app and include any social networking/marketing ideas. The most successful apps plan for marketing and sales from the beginning. One final consideration in the design phase is legal. Be sure to investigate intellectual property and regional/national laws where you hope to sell your app.
2) Gather Requirements – Is about detailing exactly what functionality the app will contain and design of what the various views will look like (also called storyboarding). This is an essential phase. If you the developer are not sure what it will look like when it is completed, how can you communicate what you are developing to others? Be sure to keep these initial designs and develop a webpage around the development process. It will help with your marketing efforts!
3) Code and Graphic development – This is where you get started programming and developing the graphics for your project. The best teams are composed of programmers and artists.
4) User Testing – Too many people skip the testing phase or do not conduct a thorough enough test of their app. Deploying your app to a few test devices and have people in your target audience use the app. Listen to their feedback (remembering that they might be overly kind) and implement their suggestions.
5) System Tests- Before releasing your app into the wild, run a systems test. Is your app connecting to a remote server or the cloud? Facebook? Twitter? Make sure that all of these features and services are capable of supporting the additional demand your app might place on it.
6) Documentation/Marketing – Before you can release your work to an app store, you must have a supporting webpage in place with contact emails and screen shots. This is also part of your marketing effort so make sure everything is perfect!
7) Production – Create your app for release and place it in the stores you would like to sell.
8) Maintenance – If you haven’t noticed, the operating systems for devices are constantly changing with more, newer devices becoming available on almost a daily bases. You should expect to refresh and update your app at least every few months at the very least. On the bright side, in most app stores, releasing a new version could get you a higher ranking in the search engine!