Implementation of Agile Methodology- Zomato

Srinidhi Hegde
9 min readAug 26, 2020

Introduction

Zomato is an Indian online restaurant search platform that provides information on home delivery, dining-out, and cafes founded by Deepinder Goyal and Pankaj Chaddah. Today Zomato has multiple products and services that ensure their customers have a great experience while improving the food industry. It has evolved with time by introducing features like table bookings, events, food ordering, cloud kitchens and Gold a premium subscription program to make the customers opt for their service.

Introduction to Agile Methodology

Product Development process allows you to understand the scale of the product and its impact on the market. It is nothing but the process through which a product goes when it is developed. It usually comprises the following steps

  • Conception of Idea
  • Market and User Research
  • Product Planning
  • Design
  • Development
  • Testing
  • Deployment
  • Maintenance

There are several methodologies to build software, most prominently used techniques are the traditional and agile methodologies

What is Agile?

Agile software development describes an approach to software development under which requirements and solutions evolve through the collaborative effort of self-organizing and cross-functional teams and their customer(s)/end user(s). It advocates adaptive planning, evolutionary development, early delivery, and continual improvement, and it encourages rapid and flexible response to change.

Agile Development

Why do we need Agile?

Agile came about as a “solution” to the disadvantages of the waterfall methodology. Instead of a sequential design process, the Agile methodology follows an incremental approach.

Agile is a combination of iterative and incremental process models with a focus on process adaptability and customer satisfaction by rapid delivery of working software product.

Advantages of Agile Methodology

Agile software development emphasizes four core values.

  1. Individual and team interactions over processes and tools
  2. Working software over comprehensive documentation
  3. Customer collaboration over contract negotiation
  4. Responding to change over following a plan

Widely used methodologies in Agile are Scrum, Kanban, and Lean. As discussed, the Agile method incorporates both incremental and iterative product development processes. Let have a look at them in detail

Incremental and Iterative Software Development

Iterative and Increment Development

Incremental software development approach helps to deliver finished components of the whole in parts. It allows the team to stagger the release of features, thus allowing for a better understanding of the market.

Iterative software development approach allows the team to build upon an idea or a solution which might not be apparent at the beginning, but constant feedback at all levels from the customer encourages development in the form of iterations.

For example, to develop an app for food delivery, the customer’s feedback was taken at the wireframe stage. The inputs were incorporated, and the next mockup was created. The same feedback scenario was established and included in the later stages and so on. The Agile method combines iterative and incremental approaches and encourages a flexible environment.

Scrum Framework:

Scrum is a subset of Agile. It is a lightweight process framework for agile development and the most widely-used one. A Scrum process is distinguished from other agile methods by specific concepts and practices, divided into the three categories of Roles, Artifacts, and Sprints.

The Scrum framework includes:

A product owner creates a prioritized wish list called a product backlog.

Some of the terminologies used in Scrum are:

  1. Product Owner — This person communicates with various stakeholders, creates and maintains product backlog, and works to maximize the ROI on the product.
  2. Scrum Master — A role orthogonal to Product Owner, this person helps the team achieve the task and build long term sustainability. He is a coach for the team.
  3. Developers — Everyone else on the team is called a developer, irrespective of their qualifications, expertise, and work.
  4. Product Backlog — This is an artifact created by the Product Owner. This contains all the requirements in the form of user stories. These stories will someday become a part of the working software.
  5. Sprint — It is a time-boxed period in which the team accepts some user stories given by the Product Owner and works to convert them to working software at the end of it.
  6. Sprint Backlog — Top priority items from the Product Backlog that the team will work upon in the sprint are put in the Sprint Backlog. These stories will ideally become the working software at the end of the current race.

Scrum Framework

Scrum significantly increases productivity and reduces time to benefits relative to classic “waterfall” processes. Scrum processes enable organizations to adjust smoothly to rapidly-changing requirements and produce a product that meets evolving business goals.

Scrum processes enable organizations to adjust smoothly to rapidly-changing requirements and produce a product that meets evolving business goals.

At Zomato, we understand the importance of agile during feature development for our app; we break the development process into smaller working pieces. Those pieces are then developed, implemented, and tested piece by piece.

Rather than 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.

Feature Development using Agile Methodology at Zomato:

Now, when we know what Agile Methodology is let’s jump to the Problem Statement and make use of the Incremental and Iterative methodology of the Agile Process for developing some of the features

  • Rate/review restaurant
  • Filters for search
  • Online ordering

Rate/Review Restaurant:

Ratings & Reviews empowers customers to share their opinions and experiences, wherever they dine verifying the quality of a restaurant and the expected knowledge of the food and the restaurant as a whole.

Let’s see how to iterate the features to different versions in the steps below:

Version 1:

  1. Like/Dislike button: This will help us in analyzing if users are interested in giving feedback after visiting the restaurant. Simple like or dislike button can be the like the one given below:

Rate Restaurant

2. Linear Scale: Users will be able to rate the restaurant by giving 1 to 5 stars and providing a review in the text box

Write a Review

3. Overall rating: Users should be able to view the overall/cumulative rating for the restaurant along with the total number of user rated and reviewed the restaurant.

Version 2:

1. Add Photos and share on social media: Users should be able to add photos to reviews. User should be able to post the review and the rating to social media

Add Photos and Share on Social Media

2. Sort Reviews based on Rating: User should be able to sort the reviews by high-low and low to high

3. Sort reviews based on Date: User should be able to sort the reviews based on the recent to the oldest and vice versa.

4. Review Given by Friends: User should be able to see the reviews given by friends at the top followed by the other reviews

Version 3.0

  1. Share it on Social Media: User should be able to post the review and the rating to social media
  2. Tag Users: User should be able to tag another user (if they want to) while reviewing the restaurant
  3. Like and Comment: User should be able to like and comment against other user reviews

Search Filters

Zomato has a massive database of restaurants. It would be painful to go through all of the restaurants listed if there were no preferences set. It’s essential to have a filter option to make sure the user finds the right restaurant

Search Feature on Zomato

Version 1:

Basic Filters based on:

a. Veg/ Non-Veg

b. Type of Cuisine

c. Location

d. Average Cost

Version 2:

  1. Sort Feature: Filter results based on the availability of promotional offers and the “Open now” feature

Version 3:

  1. We can then add “Quick Search” Filters that are easily accessible like Home Delivery, Open Now, pocket-friendly, discounts, an option to save the previous filter used.
  2. Trending/Suggested searches: User should be able to a shown trending or suggested restaurants while searching for a restaurant.

Filters have to be made more comfortable to use in every version for the best optimum experience for the user.

Online Ordering

After the process of searching the hotels, te very next step is to Order the items in Zomato. Iterations of the product could be as follows with each feature added in the next iteration in the following order: Considering the restaurant side functionalities is built, we move to the user side functionalities.

Online Ordering on Zomato

Version 1:

a. As a user, I should be able to view menu of the resturants.

b. As a user, I should be able to search for food items in a restaurant.

c. As a user, I should be able to add item(s) to the cart.

d. As a user, I should be able to select the delivery address.

e. As a user, I should be able to checkout the added/selected items.

Version 2:

a. As a user, I should be able to make payment by card.

b. As a user, I should be able to make payment by Paytm, PhonePe and GooglePay wallet.

c. As a user, I should be able to make UPI payments.

d. As a user, I should be able to apply valid coupon codes provided by Zomato and get discount as per the coupon’s terms and conditions.

Version 3:

a. As a user, I should be able to see restaurants I have ordered from recently and can repeat orders.

b. As a user, I should be able to see currently trending restaurants and dishes in my area.

c. As a user, I should be able to track the orders in realtime.

d. Zomato Credits : As a user I can earn credits on each order or if they refer friends

e. Customer support — Once users are familiar with the process, the number of tickets reduces, then we can introduce a “Request Call” feature which allows the user to click a button and receive a call automatically from Customer Support.

This way, we can implement Agile methodology at Zomato, which would clearly define the business by incorporating user feedback at each level.

Summary

Agile supports and enables any startup to be fast-paced, flexible, and dynamic. The agile methodology works perfectly well, was the requirement is continuously changing and dynamic. Today, at Zomato software or feature development demands both iterative and incremental methods. With a combined development approach, our work is sure to be both reflective and productive. In turn, our final product is well-positioned to be efficiently vetted and enhanced the goals that were previously set.

--

--

Srinidhi Hegde

If you need to more about my profile, Kindly follow me.