Developing Features for Restaurant Discovery & Food Ordering App Using Agile Methodology
This post discusses the steps taken to develop key features for a restaurant discovery and food ordering app like Zomato using the key tenets of iterative and incremental product development principles.
What is Agile
Agile development is the broad term used to describe a unique product development methodology which is based on incremental and iterative cycles. The incremental part of the process is based on breaking down a project/ use case into smaller increments of design, development, testing and deployment. The iterative part of the process is linked to understanding the feedback from users/ stakeholders and working/ re-working on specific aspects of the project. There are several advantages to this method. First, because you are planning in smaller increments, you can react to changes in the market or other new information more quickly. Second, your product reaches customers earlier — which means that you start hearing feedback from customers on your actual product sooner, which helps guide your subsequent product development efforts. Third, teams can reduce their margin of error in estimating scope of work by working in smaller batch sizes.
Agile methodology works well with whole concept of Lean Pholosophy of Build-Measure-Learn. Lean promotes the concept of maximizing learning and validating hypothesis at every stage of product development cycle. Agile as an execution philosophy works brilliantly as Agile promotes shipping products quickly to maximize learning. This accelerates the build-measure-learn cycles leading to optimum use of resources.
Scenario:
Our fictional Restaurant Discovery App (let’s call it ZR for Zomato Reloaded!) has been launched with much fanfare. To build on and sustain the initial momentum, the product manager is now working on the following 3 key features:
a) Sorting & Filtering Search Results
b) Rating & Reviews
c) Online Ordering
Order and Filters for Search
Background: Given the huge increase on the number and quality of restaurant listings, the basic search features needs to be augmented by adding effective filters to simplify the whole search experience.
Options considered (in descending order of priority):
a) Sort by Ratings
b) Filter by Restaurant Type
c) Sort by Price
Approach:
Phase 1: Given the app’s current status, we would like to start by working on sorting search results based on cumulative ratings. This is important as the feature ensures that restaurants constantly try and improve on their service quality levels and users also see their contributions being valued by the platform. We will launch a basic sort feature and check the feature engagement in terms of number of search results with this sort feature being used, click-through rate differential between sorted results vs. un-sorted results etc. basis which tweaks in the experience can be made. Once this is achieved, we will add a feature wherein users can filter by a specific range in rating.
Phase 2: Post this, team will be asked to work on filtering based on restaurant type (veg. / non veg./ alcohol availability) as this will further provide a more refined consideration set for users. Again the sorting groups will be refined based on click-through rates for filtered vs. non-filtered search results, time spent on search, most used filter etc.
Phase 3: Next up will be introducing sorting options based on avg. price as this will leverage the fundamental aspect of category intelligence built on the platform.
Ratings & Reviews:
Background: Ratings & reviews is the USP for ZR as it allows users to share and learn from each other’s experiences. Current rating is limited to the overall experience which needs to be expanded & posting reviews needs to be made easier.
Options considered (in descending order of priority):
a) Split ratings into critical areas such as ambience, taste, value for money (VFM) & service quality) for more objective & standardized assessment
b) Make sharing reviews more seamless by providing “contextual phrases” and auto-correction.
Phase 1: Customer can rate across the 4 categories of ambience, taste, VFM & service quality between 0–5. With the launch of the feature, engagement metrics (such as % of people providing ratings/ time required to provide rating) etc. ; pain points in providing ratings, drop-off stages (if any) will need to be tracked to optimize the entire experience.
Phase 2: The project on easing the process of providing reviews will be taken up. The key success criteria would be to reduce the time taken to review restaurants & change in the number of reviews provided. Features to be built include providing “most used phrases” and auto spell-correction.
Online Ordering:
Background: Given that ZR has built a substantial supply base around restaurants catalogues and can accurately track key usage behavior such as
a) categories wherein users are spending most amount of time
b) sorting options most used
c) filtering options most applied
d) Local variations etc.
Armed with this data, the team is looking at launching the online ordering feature from specific restaurants by stitching the Call-To-Action (CTA) into the restaurants home page. The feature will be developed as per the following roadmap:
a) Phase 1: Convert restaurants menus into active catalogues through which can users can place orders. Use consumer data to promote the right sub-sets of catalogues to different consumer segments depending on time, local relevancy etc. Understand usage metrics such as drop-offs, time taken to place orders, unique screens seen to place orders etc. as well as revenue metrics such as avg. order size & value to optimize the experience.
b) Phase 2: Develop incremental features such as storing “favorites” for customer which is based on previous orders from same/ similar restaurants, instant combos etc. which brings in high level of usability and efficiency to the ordering experience.
c) Phase 3: Build recommendation systems considering multiple variables such as past order history, cuisine preferences, dietary habits etc.
This is just a snapshot of how we can apply Agile philosophy to projects of all hues to build successful projects faster, cheaper and better. Feedback, suggestions are welcome.