Zomato App: Agile Methodology

Ruchika Yadav
5 min readMay 30, 2022

Problem Statement:

Consider you are a product manager at a company like Zomato. To release any feature, let’s say you have four or five steps like ideation, design, implementation, testing and deployment. And you have 3–4 features like rate/review restaurant, filters for search, online ordering, etc. in line for the next releases.

Develope these features using the Agile methodology, incremental and iterative way of development.

Brief Introduction about Zomato:

Zomato is an Indian restaurant search and discovery service founded in 2008 by Deepinder Goyal and Pankaj Chaddah. It currently operates in 24 countries.[4] It provides information and reviews of restaurants, including images of menus where the restaurant does not have its own website and also online delivery.

Agile Methodology:

Agile methodology is a software development process framework that adopts the iterative and incremental approach — open collaboration, and process adaptability throughout the lifecycle of product development. The very nature of agile methodology is differentiated from the traditional “Waterfall” methodology of software development in the movement from a linear workflow adopted in the latter to a parallel and iterative workflow adopted in Agile.

Agile Methodology

An incremental and iterative approach to product development is at the core of the Agile methodology, in the way that the whole product is broken into micro manageable parts which are then worked on by teams in smaller sprints; based on their criticality and user impact; keeping the business goal in perspective.

Agile approach for feature development for Zomato

Consider three features from Zomato app:

  • Rate / Review a restaurant
  • Filters for search
  • Online Ordering

As a part of agile development, for work development to commence on any feature, the items need to be qualified as High priority item by the product owner. High priority items then qualify as the Sprint backlog — which is the shortest unit of time in which product development is done and features are shipped. An entire sprint has all the phases of Ideation, design, development, deployment and testing for release.

This iterative agile approach is more flexible and its short time-span iterations seek improvement for the project in small release, with minimal planning, rather than plan at length. This helps to minimize the overall risk, and allows the project to adapt to changes more quickly.

Implementation of these features for a restaurant for Zomato:

  • Step1 — Development team will share their views with the product owner on the time needed and will share the plan on the tasks that can be completed in the defined two weeks period.
  • Step 2 — Delivering an interim version of the product feature in two to three weeks (Version 1). This interim version will be more useful over working on the end to end feature in one sprint.
  • Step 3 — Collaborating ideas from the team members and possible feedback from the clients, features are refined (added/deleted). Requirements cannot be fully collected at the beginning of the sprint session, therefore development is broken into multiple sprints for each feature set to account for development time as well as pragmatic deployment timelines.
  • Step 4 — (Version 2): Responding to change over following a plan — — agile development is focused on quick responses to change and continuous development.

Rate/review restaurant feature:

Version 1:

1. Rate a restaurant on a 5 point scale

2. Average rating listing for a restaurant

3. Add a review to a restaurant in plain text

4. List of recent 8 reviews with an unfold option to view more reviews for a restaurant

These 4 features are further broken down to user stories and identified as tasks for the sprint. The same shall be followed for each feature set mentioned going forward in the post.

Version 2:

  1. Included colour codes for rating — Red, Orange, Yellow, Blue, Green

2. Average rating along with display out of total no. of reviews

3. Option to sort reviews basis: Recent reviews/High to low /Low to high/Most recent reviews first/ Reviews by people you follow

Filters for search feature:

Version 1 (simple)

1.Search by restaurant name

2.Select location

3.Select cuisine

Version 2

1.Common search bar — name, cuisine, dishes

2.Choose/detect location or nearby filter

3.Occasion types: Drinks & night life /Dining out/ Desserts /Cafes &more

Added more tabs like: Trending this month, Best Collection , Sports and drinks, live music, Drinking under the stars etc.

Online Ordering feature:

Version 1

1. Show online ordering as an explicit option with every restaurant listing

2. Online menu with price listing for each food/drink item

3. Add/remove dishes to/from the cart for online ordering

4. Order summary & place order feature

5. Credit / Debit card integration for online payment for orders

6. Register address for home delivery of food

Version 2:

1. Live tracking for online deliveries

2. Additional online payment options (Netbanking / UPI etc.)

3. Cash on delivery system for low ticket deliveries (below a certain amount)

4. Option to call delivery boy to track the delivery status

Version 3:

1. Color coding / classification of veg / non veg food

2. Color coding / classification of spicy / non spicy food

3. Rate delivery of package delivered

4. Rate service boy for delivery

5. Add tip for delivery boy service

All the tasks identified above in different features are prioritized w.r.t. user expectations, complexity, market needs and so on. After prioritized, all the tasks are put into the product backlog.

Product backlog:

Tasks are arranged in priority order with the highest priority on top to lowest on last. Scrum team will share sprint planning according to the resources, timeline of the project etc.

Sprint planning:

Each sprint duration of 2 weeks (typically); given a high growth startup. Let’s say sprint team updated with 3 weeks sprint and all the tasks, features and acceptance criteria shared in this sprint.

Daily standup Meet:

15 minutes meeting conducted by the team daily, anchored by the Scrum Master, to discuss 3 activities:

  • What tasks were completed yesterday
  • What tasks are to be completed today
  • Are there any roadblocks
  • What help is needed to resolve this

Sprint Review:

Post completion of each sprint, the same is reviewed by the product owner with the Scrum master & the developer team. The intent is to review performance, share learning, identify if anything is incomplete from the previous sprint & whether the same needs to be prioritized in the next sprint.

Sprint Retrospective:

After completing a sprint, the team will identify “what worked for them” and “what they can do to get better”.

Summary:

Agile development methodology provides for multiple opportunities to assess the intended direction of Zomato app throughout the product development lifecycle and re-calibrate the features/user stories that need to be re-prioritized. In an agile paradigm, every aspect of development requirements, design, etc. is continually revisited throughout the lifecycle to preserve a product’s critical market relevance and ensure team’s work doesn’t wind upon a shelf, never released, is an attractive option for stakeholders and developers alike. User feedback on all incremental features deployed in the previous sprints acts as important inputs to make course corrections, as needed.

The results of this “inspect-and-adapt” approach to development greatly reduces both development costs and time.

--

--