Agile product development | Feature Implementation at Zomato

Prashant Jaiswal
7 min readMar 27, 2019

--

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 post on how you would go about the development of these features using the Agile methodology, incremental and iterative way of development.

Introduction

Developing a new product from the scratch can be quite tricky and vague. Every Product Manager has to have a structured road-map that gives the business a clear path to follow.

The typical product development process generally involves the following steps:

· Conception of the Idea

· Market and user research

· Product planning

· Design

· Development

· Testing

· Deployment

· Maintenance

The Product Planning to Development stages are crucial and have to be done in the most efficient manner.

There are several ways to develop software, two of the most prominent methods being Waterfall and Agile.

Waterfall Methodology

This means that as each of the eight stages (as above) are completed, the developers move on to the next step.

As this process is sequential, just like a waterfall, once a step has been completed, developers can’t go back to a previous step — not without scratching the whole project and starting from the beginning. There’s no room for change or error, so a project outcome and an extensive plan must be set in the beginning and then followed carefully.

Waterfall methodology | Image source : Testingfreak

While Waterfall proved to be advantageous in situations where client knows exactly what he wants and has a definite idea of what the program should be doing at the end, this may not be the case every time. Most of the times clients do not have a clear vision invariably a whole lot of change requests come up during the long development processes. To combat this situation, Agile methodology was developed.

Agile Methodology

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.

Developers start off with a simplistic project design, and then begin to work on small modules. The work on these modules is done in weekly or monthly sprints, and at the end of each sprint, project priorities are evaluated and tests are run. These sprints allow for bugs to be discovered, and customer feedback to be incorporated into the design before the next sprint is run.

Difference between waterfall and agile | Image Source : 360Logica

The agile software development emphasises on 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

The Agile methodology incorporates both incremental and iterative product development processes.

Incremental software development entails delivering finished components of the whole in parts. It allows you to stagger the release of features which are of utmost value to customers. Iterative software development allows for instant feedback at multiple levels of the product development process.

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 processes by specific concepts and practices, divided into the three categories of Roles, Artifacts, and Sprints.

The Scrum framework includes:

· A product owner creates a prioritised wish list called a product backlog.

· During sprint planning, the team pulls a small chunk from the top of that wish list, a sprint backlog, and decides how to implement those pieces.

· The team has a certain amount of time — a sprint (usually two to four weeks)to complete its work, but it meets each day to assess its progress (Daily Standup).

· Along the way, the ScrumMaster keeps the team focused on its goal by being a facilitator.

· At the end of the sprint, the work should be potentially shippable: ready to hand to a customer, put on a store shelf, or show to a stakeholder.

· The sprint ends with a sprint review and retrospective.

· As the next sprint begins, the team chooses another chunk of the product backlog and begins working again

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.

Now, considering I am a Product manager at Zomato, Let’s make use of the Incremental and Iterative methodology of the Agile Process for developing some of the features such as rate/review restaurant, filters for search, and online ordering.

Feature development for Zomato | The Agile Way!

What is the Goal??

Today we are going to talk about developing features for Zomato using one of the Agile methodologies practiced by a majority of Agile practitioners — Scrum. We will talk about three features development of Zomato:

  1. Rate and Review Restaurant
  2. Filters for searching restaurant and dishes
  3. Online ordering

Hope you have got a fair idea of Agile methodology and Scrum Framework by now. As mentioned above, let’s use this methodology to develop three features for Zomato. The steps to be followed for any feature release are:

Ideate

Design

Implement

Test

Deploy

Feature 1: Rate and Review Restaurant

During the ideation phase, the team, along with Scrum Master, shall discuss to build a simple interactive prototype of like/dislike options on the rating page using thumbs up and thumbs down buttons and test it with users. It will take users less than a second to rate any restaurant now.

After user feedback, the team shall go ahead and design the feature with a like or dislike button for ratings. Additional animations & design elements which made the like/dislike interactive can be added. Next, the developers shall implement the simple ratings feature in one sprint on the Zomato application. A beta version shall be circulated among the internal stakeholders for testing and receiving feedback for the feature. Finally at the end of the sprint, the feature shall be live for all the users to use.

Post that, the product owner shall capture further user needs and ask the team to keep iterating. Product Owner shall perform contextual inquiries and usability testing sessions to figure out improvements which the users want. Those will be implemented following a a similar Agile process, which will happen, ideally in one sprint.

In the next iterations, the team shall include validation and implementation of ideas such as detailed short paragraph reviews, reviews for individual food item, reviews with photos etc.

Feature 2: Filters for searching restaurant and dishes

The team conducted User Research and created primary persona for Zomato and came to a conclusion that the target audience searches for food and restaurant both in the Zomato application search bar.

So, an interactive prototype is created with the ability to search by food items. This was tested with some users. The test results immediately validate that there is indeed a demand for search by food item feature.

The team began working on the design and implemented an initial version of the feature which allowed users to search a food item like ‘Tarka’ or a restaurant name like ‘Burger King’ in the search bar. After some more usability testing and stress testing, the feature is finally deployed.

In the next iteration, the team shall add location based suggestions for the search and other learnings using the Build-Measure-Learn framework.

Feature 3: Online Ordering

The team has already listed many restaurants and their menu items with pricing in the Zomato application. The team also created an inventory management where restaurant owners could update the menu and pricing. Then the team started with online food ordering from a handful of restaurants which were most searched and rated by users. Product Owner asked the design and development teams to work together for a design sprint and take inputs from extensive user research data. All the personas were people living away from home and office goers. The team provided an option to add item to cart on the already existing restaurant menu page and waited to see the number of orders we get. The team started with only one payment gateway.

The team eventually started giving many orders to restaurants and realized that the demand was much more than the supply could create.

Having validated the initial assumptions, the team went ahead and did the same for all restaurants which partnered with for delivery. The feature was live in a 3 week sprint and the team made many iterative changed to improve it.

Today the online ordering is live and running good. Further iterations could be adding more payment options like M-wallets, netbanking etc., strong partnerships with restaurants to offer discounts, option to combine orders from two or more different restaurants.

Summary

Being Agile supports and enables any startup to be fast paced, flexible and dynamic. 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. This allows them to always be in touch with their users and understand their needs and wants.

This is how product features are added using Agile methodology. Agile methodology allows a Product Manager to welcome requirement changes as a part of the family than to treat them as aliens as in a waterfall methodology.

A product Manager acts as the product owner in the Scrum process. He is responsible for maintaining the product backlog & sprint backlog. He communicates the requirements in a simple yet comprehensive manner so that the team, Product Head and the other stakeholders are on the same page during the product development.

This was my take on Agile Methodology and how it can be implemented to release key features in Zomato. Thank you for reading.

--

--