Phase 1: Requirement analysis

As in any project, before we embark, on developing a mobile app, the initial step is to do a complete and thorough requirement analysis. Below is a set of actionable steps. This is a very critical step that a slight degree of change/error can cost you many more dollars or even worse – you will end up creating a useless app!

There are two models of doing a requirement analysis. The first and the most common one is when a mobile app needs to be built into an already existing system or process or even updating an already existing one. The other one is someone with a novel idea approaches you to birth the idea with the help of your expertise.

For a Predefined App

  • Define the Purpose of App with maximum clarity
  • List the Functionality required
  • Identify the User, hardware and software requirements
  • Decide the required Platform in which the app will be built
  • Assess the technical feasibility

For an idea-based App

  • Decide the Purpose of App
  • Collect App ideas
  • Do Market Research
  • Analyze competition
  • Study the business feasibility
  • List the Functionality required
  • Identify the User, hardware and software requirements
  • Decide the required Platform in which the app will be built
  • Assess the technical feasibility

Phase 2: Estimate and Approval

Once the requirements, based on the functionality, you need to come up with an estimate. In simple terms, we calculate the no: of hours required and cost involved in development.

Estimate = No: of Hours Required X Cost per hour (includes the cost of Requirements analysis till Successful Deployment)

The below list will help you to work out an estimate.

  • Find out the modules – Examples of modules would be login/logout, Dashboard, User profiles, security etc.
  • Costing for design – The design may be managed by using a theme or you may want to do a custom design by dedicated designers.
  • Costing for development – The hours that the developers require to release the app. You can choose to either include or exclude the testing hours. However, looking at a high-level, it is best to include the testing hours too.
  • The Estimate = Requirements Analysis + Design + Development

Once you are done with this, if you are doing this for your client, make sure to get an approval. If it is being felt that the costing is high, remember that this is an end-to-end price.

Phase 3: Conceptualization

Having got an approval on the time and costing, the temptation is to jump into the actual development process. Trust us when we say this. Do not. Instead, quickly build a prototype and using a wireframe approach.

  • Application prototype
  • App flow wireframes

Phase 4: Mock-up Approval from client

With a ready-to-show prototype, you are miles ahead in confirming the correctness of the requirements. In most of the cases, the gap in expected and the actual app pushes the app to an unusable one. Hence have a client meeting with the prototype and get the approval of the expected app.

  • Confirm the mock-up approval from the client

Phase 5: Development

From Requirement Analysis phase, now is the time to move on to the Development Phase. The bunch of things that you need to keep in mind, apart from the actual coding is listed below.

Developer Account

Depending on whether you are developing an Android or iOS app, create the developer accounts including the creation of development and distribution profiles.

  • Setup Developer account in apple and Google
  • Creating development and distribution profiles

Setup Apple developer account

Development Methodology

Now is the time to choose the development methodology. We have found Agile being a win-win for both the developer and the client.

  • Choose the development methodology
  • Agile Methodology is mostly preferred in mobile application development for best result

Agile mobile development process

Mobile App Development - SPRINT process

Phase 6: UI/Graphic design

There are scores of tools to work on the UI/graphic design. Couple of them we have mentioned. There are much more. Depending on your requirement, you can choose.

  • Adobe Photoshop
  • Illustrator
  • Themes

Adobe Photoshop for App UI Design

Universal or Cross-platform App

It is ideal that, irrespective of the functionality, the app needs to work on devices and operating systems. However, some of them would be specific that their app needs to be iOS based only or Android-based only, which still would mean that it should work seamlessly across the devices with different screen sizes.

  • Support for smartphone and tablet devices(Android)
  • Support for iPhone, iPod and iPad devices(iOS)

Universal AppTablet design

Push Notifications

For any decent app, with some good functionality, it is almost imperative to have push notifications. If yours is such a case, then here a couple of them.

Apple Push notifications - APN Firebase

 

Phase 7: Backend web and Web service Integration

By this time you would have come across the concept of web service integration and its usefulness. If not, below are a couple of them which you need to definitely look into for use with your app.

  • Using native framework or Third Party libraries (AFNetworking) for web service integration
  • REST or SOAP Web services integration.

REST and SOAP web services

Third-party API’s

It is a sure-shot that any app would be required to be integrated with a third-party using its API. Here again, you have a list of them which you may use frequently. In case you are hearing it for the first time, read more on this here

  • Social Media Integration
  • Payment Gateways
  • Google Map API (iOS)
  • Bar Code Scanner

Google Maps Mobile app Payment Gateways

App Store Guidelines (iOS)

With all the hard work, what is the use if your app is getting rejected? Yes, even though your app may serve the required functionality, to sport it in the App Store, you need to follow guidelines. Be sure to read through here

  • Follow Guidelines provided by Apple for development
  • Avoid app rejection by following the Guidelines

App store review guidelines from Apple

Phase 8: Database creation

For database development, we have listed a few. Click on them to know more.

Mobile Database development

SQLite

Web service Creation

  • REST Web service
  • SOAP Web service

Phase 9: Testing

Post-development, however perfect you think that your app is, never show an app to your client without testing. Keep this as a ritual, if need be. You will reap its benefit. We have listed the different types of testing that needs to be done and cleared before you pat yourself on your back.

If you are using the Agile methodology, then this phase is included in each and every release, though not all the types of testing will be used.

  • UI Testing
  • Usability Testing
  • Module testing
  • Operational Testing
  • Security audit and testing
  • Memory testing
  • Client Acceptance

Deployment

Distribution

To showcase your app you will be choosing the below-listed forms of distributions.

  • Ad-Hoc Deployment, Apple App Store and In-House Deployment(iOS)
  • Keystore, alias (Android)

Store Submission

Another area that you need to know about is store submission and the following review. For iOS, you can know more from here. For Android apps start here.

  • iOS App Store submission
  • iOS App Store Build Review
  • Android Play Store Submission
  • Managing Certificates

Google Play console

 

Apple Development Program

App Maintenance

SVN

It is important to plan for future updates and minor changes in the app. The proven and best way to manage these is by using a version control system. Below we have mentioned one such, though there are many.

  • Manage app source through Subversion(version control system)

SVN

Periodic App Maintenance

The mark of a quality app developer comes with the fact that the responsibility of maintenance is also being taken care of. Below is a list.

  • Check user feedback (at stores) and ratings
  • Reply users
  • Check for user suggestions
  • Check for new OS version
  • Test app for new screen sizes
  • Upgrade features
  • Security updates
  • Sales monitoring (paid apps)

Marketing

When we develop new idea-based app or for your client, at some point, there would arise the need for marketing the app. There is a way to do that also. App marketing is a fully matured industry in itself. For the best results, it is good to approach a dedicated SEO firm who will cover these for you on a long term.

  • App Store Optimization
  • SEO / Social Media / Directory Submissions

We trust you had a good overview and enough points to plan and prepare to develop and deploy mobile apps. Do get in touch with us if you have any roadblocks or you want to know more.