The Challenge
Sphere was asked to build a mobile application that allows employees to pay for a taxi using a corporate account. The goal was to build a MVP within 3 months that shares 90%+ or more of the code between iOS and Android as well as important structural commonalities between mobile and web versions
How We Solved It
TEAM
For the MVP, the Sphere team included three developers, one designer, and two shared QA analysts.
APPROACH
The client’s requirements were quite fluid. Features were added and subtracted with each sprint. However, the basic flow of the project followed an agile test/release process.
- Business requirements received
- Designer creates mock-ups
- Mock-ups discussed and reviewed and revised internally
- Client approves designs or another round of adjustments takes place
- Development
- QA
- Wash, rinse, repeat
Within that deadline, bi-weekly sprints kept the team on a rapid release schedule. The team used Slack and Jira with bi-weekly sprints. In person and video meetings occurred on a regular basis to keep the team connected.
TECHNOLOGIES USED
For fast prototype creation against an accelerated timeline and to preserve a common code-base across iOS, Android, and web, React Native was used for Android, and iOS while Ruby on Rails was used for the backend. In addition, other tools used included:
- Jira
- Zeplin
- GitHub
- Overflow
- Codeclimate
- Airbrake
Deciding on a tech stack for this project was not easy since requirements were flexible and the end state was not well documented. The team recognized that the limitations of standard mobile development approaches (Swift – iOS, Java – Android) would not work given the constraints of budget and timeframe.
A cross-platform approach was required. With React native and React.js using JavaScript under the hood, mobile developers were able to reverse-engineer the existing web app to better understand the feature logic and how it should work. React Native was selected because it allowed a single codebase and reuse for multiple platforms – making it less expensive to create and maintain apps for iOS and Android.
The Results
A MVP was completed within the three-month deadline. The MVP was released for internal use. Testing followed, and then after acceptance testing, the app was made available publicly. So far, the app is responsible for 20% of all orders on the platform. This number is growing every week.