Tuesday, February 17, 2015

How to Develop a Mobile App Prototype in 7 Days

In this article, Cognizant's always brilliant Peter Rogers, shares his strategies for delivering complex mobile application prototypes in 7 days.
Cognizant's Peter Rogers
Recently we were asked to build a complete end-to-end prototype in 7 days and it ended in a really positive case study that I would like to share with you.

First we need to define what a prototype actually means because in design circles then it can mean anything from a simple sketch to an image click-through. However our customers seem to be asking us for production-ready pilots these days. I define the following types of prototypes:
  • Sketch
  • Click-through
  • Hard-coded prototype
  • Sandboxed prototype
  • Pilot 
From left to right then we progress as follows:
  1. Paper sketch
  2. Click through that is based around images
  3. Hard-coded piece of software
  4. Piece of software that runs from a local cache of data
  5. Software that is fully integrated with the enterprise backend.
In order to write a pilot in 7 days then you need to line your ducks up carefully in a row. The process we followed was to begin with an ideation workshop that transitioned into an agile scrum that lasted for a single week. The ideation workshop had multiple rooms working in tandem. In one room was the creative process that was agreeing the vision of the product with multiple stakeholders – a type of micro human centred design session. In the other room the prototype was being built then and there, to put the core foundations around the application. This task was made much easier by using Appcelerator Titanium, which allows rapid application development and user interface creation through a declarative UI with a comprehensive UI abstraction library.

In the same development room there was also an on-going discussion of the data model and the ways to realise it through Sinequa software, which acts as a Cloud Search Engine as a Service. By taking a data driven development approach then we were able to interface with the creative room and build out an agreed data model that fully represented the functional product we all wished to create. This model was then created by importing the requisite data from various locations inside the enterprise backend by using dedicated import mechanisms written by a Sinequa expert. Once the data was imported into Sinequa then it was exposed through a simple REST interface which allowed for queries and advanced featured like stemming.

At the end of the day we had somehow managed to put 35% of the code together, agreed a data model, worked out how to import 50% of the requisite data, and come up with the basic user experience to implement along with stake holder buy in. This task was made slightly easier by reusing a Cloud Authentication service (Ping ID) of which we already had a reusable software component.  Identifying candidates for reusable software components and maintaining such a repository is really important for engagements with tight timescales. We then sent the code offshore to be completed by a team of expert Titanium developers and ran close governance on the user experience by having a 7 AM internal WebEx and then a 10 AM customer WebEx. We used a GitHub based defect management system in order to track the current issues and assigned priorities on them based on customer feedback.

The hard part was knowing when to stop but as we had set a definitive timeline then we just prioritised the features on each daily call and monitored the sprint velocity in order to predict potential progress. I worked on the project as a consultant and was able to suggest solution to the really tricky problems. One such dilemma was how we could tell the local time for where the user was using the product. In the end the simplest solution was actually to use the Time.Is website inside a WebView. This worked exceptionally well because the website is responsive even down to a tiny size and it can accept towns, cities or countries. This meant we were able to take the users address in whatever form it had been provided and load it into the WebView through simple URL parameters. Sometimes the simplest solution is the easiest and it saved days of effort.

The end result proved that with the right team, the right process and the right technology then you can indeed build a holistic pilot with full enterprise integration within 7 days.

Kevin Benedict
Writer, Speaker, Senior Analyst
Digital Transformation, EBA, Center for the Future of Work Cognizant
View my profile on LinkedIn
Learn about mobile strategies at MobileEnterpriseStrategies.com
Follow me on Twitter @krbenedict
Subscribe to Kevin'sYouTube Channel
Join the Linkedin Group Strategic Enterprise Mobility
Join the Google+ Community Mobile Enterprise Strategies

***Full Disclosure: These are my personal opinions. No company is silly enough to claim them. I am a mobility and digital transformation analyst, consultant and writer. I work with and have worked with many of the companies mentioned in my articles.