The client is a non-profit ridesharing company that is powered by donations with paid and volunteer hours from the city’s tech community and the broader community working together. They offer riders the ability to roundup fares for local charities and organizations. Additionally, a percentage of sport utility vehicle and premium fares are automatically donated to provide free rides to the elderly, veterans, and to help underprivileged people get to work. The company believes ridesharing saves lives, empowers drivers and riders, and is a part of the transportation future.
Business Challenge
Following a rideshare company’s departure from the city, the client saw an opportunity to fill a market niche. With other competitors also wanting to fill the void, the client knew they had to act fast to be first to market. The time pressure was significant—the first deliverables were expected one and half months after kickoff.
Project Description
The client consulted with SoftServe to implement two Android applications for riders and drivers. The SoftServe team was responsible for the full cycle of the Android app development, which included:
- Building the team
- Gathering requirements
- Setting up the environment—CI part and delivery to "play market"
- Beta testing and supporting beta users
The SoftServe team worked with Google maps APIs, pooling different events from servers— getting requests for rides, ride cancelations, different types of notifications, etc. Also, the team was responsible for:
- Implementing a state machine to easily maintain different states of the application when it was closed or if something went wrong.
- Extrapolating the traveled route to ensure smooth and correct animation.
- Optimizing GPS usage to significantly save device charge.
The SoftServe team was fully independent and worked directly with the client’s product owner (PO). The team’s structure was altered to support the different phases of the project—the entire lifecycle from identifying product requirements to production. The team communicated daily with the PO and conducted new feature demos biweekly.
There were 2 releases weekly:
- Main features
- Critical bugs fixes
The deliverables were planned with four main milestones and fixed dates. After the second milestone, the rider and driver apps were released. During the next two milestones, the SoftServe team developed unique features that helped the client beat the competition. The collaboration lasted about three and a half months. After the product was complete, the team passed their knowledge and documentation to the client for further development and support.
Technology Stack
Programming Languages, Technologies, Frameworks, Libraries | Java, Android SDK, Support libraries, Google play-services, Google maps, Data Binding, RxJava, HockeyApp, Fabric, Stripe |
Development Practices | Code Review, Coding Standards, Continuous Integration |
IDE | Android Studio 2.1 |
Build Tools | Gradle 2.1.3 |
Source Control Tools | GIT (BitBucket) |
Continuous Integration Tools | Jenkins 2.11 |
Static Code Analysis Tools | Android lint |
Code Review Tools | BitBucket (pull requests) |
Load and Performance Testing Tools | Android monitor |
Issue Tracking Tools | Jira |
Application and Web Servers | Server side provided by customer |
Value Delivered
As a result of the project, the client has realized the following benefits:
- Request/accept rides, cancel rides from both sides, change the root
- Promotions
- Support of different types of cars (dynamically)
The team extended the functionality to include:
- Support of city zoning based on high or low demand from riders
- Separate queues for drivers at the airport
- Women only drivers
- Support of specific car types for free rides for some zone within the city
SoftServe helped the client to decrease time to market and to occupy a market niche in the city.