Features of Zomato -Agile Methodology

Ruchikashivakumar
5 min readJun 2, 2021

Zomato is a well know application for online food delivery in India. Zomato today has its presence in about 24 countries founded in 2008 by Deepinder Goyal and Pankaj Chaddah.

The vision of the product is to provide information and reviews of restaurants, including images of menus where the restaurant does not have its own website and also online delivery. In addition to these services, Zomato is also used by consumers to discover, rate, and review restaurants, as well as create their own personal networks of fellow food enthusiasts for trusted recommendations.

Introduction to Agile Methodology

Product development allows you to understand the scale of the product and its impact in the market. Agile methodology is a software development process framework that adopts the iterative and incremental approach — open collaboration, and process adaptability throughout the life-cycle of the project.

Incremental and Iterative characteristics

Incremental software development- This enables the team to deliver the product as whole in parts. It allows the team to stagger the release of features which are of utmost value to customers.

The iterative approach produces earlier release and better stakeholders feedback. The feedback is used to review the project priorities and make changes to the requirements, functionalities, estimations, plans, resources, etc. as required.

The Scrum Methodology

Scrum, like all of the agile processes, is both iterative and incremental. Scrum insists for a time-boxed sprint cycles to plan for development cycles and retrospect on the process after every cycle.

In this article, I will describe how I would have deployed the Agile methodology for roll-out and development for features of rate/review restaurant, filters for search, online ordering for Zomato. Covering different phases of Ideation, Design, Implementation, Testing and Deployment for these three features.

Rate/Review Restaurant

Rating and restaurant review is more of a social play with user generating content on the platform. While a crowdsourced peer review makes much sense with average of the aggregate information available to users to make a decision.

Needs: The following are the requirements for this feature in the order of priority

  • User should be able to provide an overall rating for a restaurant
  • User should be able to review a restaurant by providing feedback/comments
  • User should be able to view the total number of reviews for a restaurant
  • User should be able to view the average rating for a restaurant
  • User should be able to upload pictures along with the review
  • User should be able to post the review and the rating to social media
  • User should be able to tag another user while reviewing a restaurant

Given the above list of requirements, we can arrive at the following list for the iterations:

  • Iteration 1: The team would work on the functionality to

— Allow a user to provide an overall rating for a restaurant

— View the average rating for a restaurant

— Review a restaurant by providing feedback and/or comments.

— View the total number of reviews for a restaurant

This includes design, development and testing. At the end of the iteration, the team would demonstrate the functionality and gather feedback that would be incorporated into the next iteration.

  • Iteration 2: The team would now work on the functionality to

— Allow the user to upload pictures along with the reviews

— Post the rating and review to social media

— Tag another user while reviewing a restaurant

— Any carryover from previous iteration

This includes design, development and testing. At the end of the iteration, the team would again demonstrate the functionality and gather feedback.

  • Iteration 3: The team prepares to conduct detailed testing of this feature along with preparation for deployment.

Filters for search

Needs: The following are the requirements for this feature in the order of priority

User must be able to filter results based on following filters

  • Category
  • Location
  • Cuisine
  • Average cost
  • Any promotional offers
  • Restaurant timings

Given the above list of requirements, we can arrive at the following list for the iterations:

  • Iteration 1: The team would work on the functionality to

— Filter results based on Category, Location, Cuisine

This includes design, development and testing. At the end of the iteration, the team would demonstrate the functionality and gather feedback that would be incorporated into the next iteration.

  • Iteration 2: The team would work on the functionality to

— Filter results based on Average cost, availability of promotional offers and the “Open now” feature

— Any carryover from previous iteration

This includes design, development and testing. At the end of the iteration, the team would again demonstrate the functionality and gather feedback.

  • Iteration 3: The team would work on making a combination filtering available in the search results page.

Online ordering

Needs: The following are the requirements for this feature in the order of priority

  • User must be able to view the restaurants that accept online ordering
  • User must be able to view the restaurant menu
  • User must be able to view any limitations on the online order
  • User must be able to select order pickup/delivery options and the estimated time for each option.
  • User must be able to input any special requests

Given the above list of requirements, we can arrive at the following list for the iterations:

  • Iteration 1: The team would work on the functionality to

— Allow the user to search for restaurants that are offering online ordering facility

— Allow the user to view the restaurants menu and it’s items, it’s price, description of the item, veg/non-veg indicator and must be able to add it to the cart

View any limitations on online ordering such as Minimum order amount, payment options accepted etc.

— Ability to specify whether user wants to pickup the food or wants the food delivered. Also, an ETA for both options to be listed

Provide promotional offers

This includes design, development and testing. At the end of the iteration, the team would demonstrate the functionality and gather feedback that would be incorporated into the next iteration.

  • Iteration 2: The team would now work on the functionality to

Increase payment options supported

— Ability to input any special requests along with the order

— Any carryover from previous iteration

This includes design, development and testing. At the end of the iteration, the team would again demonstrate the functionality and gather feedback.

  • Iteration 3: The team prepares to conduct detailed testing of this feature along with preparation for deployment.
  • Iteration 4: Product release formalities

To Conclude

The importance of agile methodology during feature development of app is the power to break the development process into smaller working pieces. These pieces are then developed, implemented, and tested piece by piece. Instead of delaying feedback until final delivery when time and resources have already been spent, incremental development ensures that teams can use feedback to make changes early and often.

--

--