Implementing Agile Methodology at Zomato

Akshit K Gupta
7 min readMar 4, 2020

Problem Statement

Let’s 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 next releases. Write a medium post on ow you would go about the development of these features using the agile methodology, incremental and iterative way of development.

“Agile practices focus on giving individuals and organizations ownership of their work and accountability to the team and organization so that you can care to make things better.”

- Dr. Suess

Company Profile

Zomato is a fastest growing restaurant discovery website, established in 2008 by Deepinder Goyal and Pankaj Chaddah. In addition to providing information related to nearby restaurants, it also provides facilities like online ordering, table reservations and management. It gives a platform to the restaurants owners to serve a large number of users a good quality of food. Zomato is facing strong experience from Swiggy in India.

It gathers and provides information on restaurants on a regular basis. It also allows food lovers to share their reviews and photos of every restaurant so that people can make an informed choice. Zomato users are encouraged to review restaurants on the platform and user ratings constitute a key part in decision making for a new user when selecting a restaurant choice.

Introduction

Every product manager faces immense challenges when creating a new product from scratch or adding new features to an existing product. I have been involved in

Various steps involved in software development are:

Figure 1. Software Development Process

There are several ways to develop software used in the industry, two of the most prominent ones are Waterfall and Agile methodology.

Transition from Waterfall to Agile Methodology

Change is the only inevitable thing. Having all requirements fixed and thinking it won’t change is not realistic. Waterfall methodology is a sequential approach for product development through each stage from gathering requirements to design to development to testing then deployment. It works in linear order where we need to complete each process in order to start the next process.

Waterfall method can work where the client knows exactly what he wants and has a definite idea of what the product should be doing at the end. But in most cases, clients and teams do not have clear vision and a whole lot of change requests come up during any or every stage of development process. To combat such situations, Agile methodology was developed.

Figure 2. Waterfall vs Agile

What is Agile?

The problems in waterfall methodology shaped a new method of product development called Agile Methodology is widely used in modern software application development. It follows Iterative and Incremental development approach to develop product that is conducted by self-organising teams in a collaborative environment. This methodology helps in creating high quality products that adhere to stakeholder’s changing needs.

Incremental product development means decomposing a product into many components and designing and building each of it separately. Each component is delivered to the client once it is complete.

Figure 3. Agile Development Method

Iterative product development targets on delivering a product with core features and then works on adding new features throughout its lifecycle.

Scrum Framework is a subset of agile which focuses on building one feature and product at a time. A scrum process is distinguished from other agile processes by a specific concepts and practices. Some key terms associated with Scrum are:

1. Product Owner — He/she is responsible for creating and maintaining product backlog.

2. Scrum Master — He/she is a facilitator, who takes care of all the requirements and makes sure that the work goes on without any hinderance.

3. Developers — These include programmers, tester etc. who are going to code and validate those features.

4. Product Backlog — It contains all the requirements in the form of user stories.

5. Sprint Backlog — It contains the high priority user stories.

Scrum Framework Process (My experience)

I have witnessed creation of a lot of value working in collaborative team of 7–8 people in multiple sprints over the period of 3–4 months while I am working as product owner.

I mostly had a weekly sprint meeting or as needed instead of a daily sprint. The team lead (or senior resource) acted as the scrum master while I acted as the product owner. We used Jira to provide requirements to the technology team while keeping the documentation very light. The focus was also on delivering shippable software which can be tested by users. I believe we did not follow all the principles of scrum, but it was best suited to accomplish the task at hand.

The framework and rules should evolve as the team works together. This what we mean by a self-organising team. There was no one who actually divided the work but while working together the team itself divided the work according to the individual strengths.

Figure 4. Scrum Framework

Agile Development at Zomato

We will discuss how we can go about the development of the following features using the agile methodology, incremental and iterative way of development at Zomato.

· Rate/ review restaurant

· Filters for search

· Online ordering

Rate/ Review Restaurants

Rating and Reviewing restaurants is very crucial as it helps to determine the quality of food and service from listed restaurants. It helps Zomato to streamline the user experience by showing the rating besides the restaurants, thereby helping customers to take an informed decision.

This feature can be implemented in an iterative way as shown below

1. Iteration 1-User should be able to rate the restaurants on a scale of 1 to 5 stars with t. Where 1is very unsatisfied and 5 being very satisfied.

2. Iteration 2- A linear scale can have an option of text review. This will allow other users to read reviews posted by customers before selecting a restaurant.

3. Iteration 3- An option of posting real images of the restaurants can be provided to the customers which will provide a visual feedback to the new customers selecting the restaurant.

Filters for Search

Search filters play a critical role in offering a good user experience as Zomato has a huge database of restaurants and it is a very difficult task for a user to search for the desired food/ restaurant of their choice and preferences.

This feature can be implemented in an iterative way as shown below:

1. Iteration 1- user can search by filter for location, veg/nonveg, cuisine type and restaurant type (dine out, lounge, bar) for the restaurants and Zomato should be able to display options based on the filters selected only.

2. Iteration 2- User can sort the results by popularity, rating, cost etc.

3. Iteration 3- predefined Quick search filters can be added for Home delivery, cost for two, Rated 4+, healthy food.

Online Ordering

It is a very difficult and tedious task to select a restaurant on Zomato by reading reviews etc. and then searching the same restaurant on Swiggy/ Foodpanda or any other online food ordering app to order the food. Introducing the online food ordering feature on Zomato will make the process a lot simpler for customers as they can select and order the food at the same place without the trouble of switching apps.

This feature can be implemented in an iterative way as shown below:

1. Iteration 1

· Users select the items and add them to the cart

· Users can edit the cart at any time.

· User selects the delivery address from the stored addresses or add a new delivery address.

· Makes online payment or Cash on delivery and receives an order confirmation

· User is able to track the order at every stage.

· Option to give feedback of the delivery.

2. Iteration 2

· User can call the restaurant and delivery person at any time to enquire about the order.

· User can apply coupon before making the payment.

3. Iteration 3

· Users can earn Zomato credits for making every friend sign up and order from Zomato app which they can redeem and use anytime.

All the above iterations will undergo usability testing at every stage and will go through iterative feedback and enhanced and improvised over time.

Summary

Implementing Agile methodology at Zomato for introducing new features helps to make a product to satisfy customer and not just build a product out of our idea. Short sprint times and a ready to use product or a feature that comes out of every sprint cycle can be tested in the real world right there and then and reduces risk significantly. It also allows to measure customer adoption of new features introduced. Agile methodology allows to work on bugs on new features in incremental manner as well. This allows to be always be in touch with their users and understand their requirements.

--

--