Ecommerce
Case Story on App Development Process
Introduction
This case story introduces the process for developing an app for our customer. The process starts from scoping requirements until publishing the app. One of the apps we have developed is used to demonstrate the process.

App Description

This is a social network app supported by iOS. The app, HandShake5, introduces you to people in your community or across the globe who share your interests. Choose your favorite topics and search locally or worldwide. Send a handshake request and meet people locally or talk via chat. Expand your social circle. Share your knitting techniques or learn new ones. Find a golf or tennis companion in your area. Hear about a cool place to go hiking, meet someone for lunch or a festival, or find activity partners in new places. In summary, the app allows you to make new friends, every day, everywhere.
 abcdefgh  

Technical Requirement
As usual in this phase, our project manager works closely with the customer to understand detail requirements of the app. The project manager also actively helps customer to understand technical implementation of the required features. Based on common understanding of the requirements, enhancements can be suggested.

 
 Basically, the app had a few main features including: 

- Registering user and topic of interest 

- Searching for people who share the same topic of interest across the globe or in the same location

- Initiating a handshake request and responding to the request, maintaining friend list

- Creating chat tool between friends 

 

Analysis & Mock-up
Upon understanding the requirements, the Project Manager starts analyzing and brought these requirements to a breakdown. This step is important as it indicates what the technical challenges are and how much efforts are needed

 
 Since the app allowed interaction among many users, a server-client model was adapted. The app would play the role of the client, where all functionalities were available to users. The app communicated with the server through web services provided by the server. 
 
The server stored user’s information and database of topic of interest. This server hosted an admin page in PHP to allow the app manager to control users and send mass message if necessary. We were provided the server by our customer which has Apache, PHP, MySQL pre-installed.
 
Although user’s information was stored in the server’s database, the app still needed to store specific data on the device using SQLite database. This data included user setting and chat history, etc. The chat tool was implemented using Apple push notification service. Google Map API was used to facilitate searching for topic of interest by location. 
 
Mockup is created after all requirements are analyzed. Our Quality Assurance reviews this mockup before sending to client for approving. Client might have some modification thus the mockup could be revised repeatedly. This step repeats until client is satisfied with the draft design and features.
 
 It took the team 1 week for scoping technical requirement, analyzing and creating the final mockup for the social network app. 
 

Resource Allocation
After analyzing the project to determine all technical features, the Project Manager calculates the efforts and sends request for needed resources to Head of Project Development Department.

 
“ Overall, this project needed 1 project manager, 1 designer, 2 iOS developers who implemented user interface and features, 1 quality assurance, 1 tester and 1 PHP developer for developing the web services and administration page on server.

Detail Plan
Upon having the necessary resources for the project, the project manager completes a detail plan for the development process. This plan includes important milestone such as release of prototype, release of final package, app publishment etc.

 
“ The estimated duration for the project implementation phases were suggested as below:

- Developing prototype within 4 weeks. 

- Carrying out UAT and release final package in the next 4 weeks.

- Deploying the app and publishing to iTune App Store the following week.

 

 
Important milestones of the plan are informed to the customers so that they can be updated with the project’s progress.

Prototype
The purpose of a prototype is to bring user a try-and-feel experience on the app’s interface. This prototype does not include all the functionalities but basic app navigation, fonts, colors, images, layouts, etc.

 
Our Project Manager sets the release of this prototype as a milestone. This milestone is important because it allows customer, for the first time, to try the app on actual device and have feedback. Based on customer’s feedback, the team revises the design to fit their expectation. This review and revise process goes on until the final prototype is created.
 
 The prototype package included the app’s user interface. We finished the prototype in 4 weeks. In addition to that, we also finished the web services and server administration page. The early completion of web service and administration page was important as when the iOS developers moved to the next phase, the server features were all ready for them to test.
 
During this phase, we used TestFlight – an iOS supported platform for app distributing & testing – to distribute different builds of the app to customer remotely and they could have instant try on it. This phase required full resources as the PHP developer programmed the server features and 2 iOS developers would develop the prototype. 
 
For more information about prototyping process, please check out here (http://en.wikipedia.org/wiki/Software_prototyping)

UAT & Final package
After finishing the prototype, our developers start implementing the app features. Once all features are implemented and tested, they await approval by our quality assurance staff. Upon approval, we issue a release. Our team monitor the feedback of the release and make necessary change if needed.

 
“ Again via TestFlight, we distributed the release so that customer could conveniently try and feedback.
Totally we had issued 3 releases:
- The first release included everything except the chat tools
- The second release came with all features of the app
- The third release added in-app functions which enabled customer to sell in the app. As the free app only allowed searching for one topic of interest at a time, user could pay to be able to search for more topics of interest at the same time.
 
Again this was a review and revise process. It took us 4 weeks to carry out this User Acceptance Test and come to the final package.
 

Deployment
We help customer to prepare all necessities to publish their app. The app has to undergone an approval process. Once approved, the app will appear to the public and users can start downloading it.

 
It took the app 2 weeks to be approved and published to iTune App Store. The launch date was on original schedule.
 

Maintenance
Depending on contract terms, we provide customer a certain period of free support. Source code and documentation are also handed over to customer.