Implementing Agile Methodology for Zomato — My Views
I am writing this post as part of a course where we apply Product Management concepts to real world situations and examples. This is my second such (informative) post ever on any platform. I have been given a task to think like a PM at Zomato in order to bring about development of some of the features of their popular website using the Agile methodology, incremental and iterative way of development. Following is my take on the same.
As a product manager, you need to understand the various steps of development leading up to the final product. The product development process generally involves the following phases:
Conception of the Idea
- Market and user research
- Product planning
The traditional Waterfall method is nothing but a sequential process in which progress flows steadily towards the conclusion, hence the name. It fares well in the context of interdependent features. However, the waterfall method holds true only if nothing changes over the course of the product development process which is not the case nowadays.
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. The Agile methodology incorporates both incremental and iterative product development processes.
An Agile method ensures value is created and communicated at each step of the product development process. At any point in time, you are able to measure the progress by reviewing the working software, thus allowing a continuity in visibility from the start to anywhere in the middle, up until the end. Delivering a working software in two to three weeks as opposed to a year mitigates the technical risks that usually lurks in a traditional scenario Owing to its intensive nature, an agile method transcends the norm and encourages teamwork as part of the process, thus allowing communication at every level.
Scrum is a subset of Agile. It is a lightweight process framework for agile development, and the most widely-used one. A “process framework” is a particular set of practices that must be followed in order for a process to be consistent with the framework. (For example, the Scrum process framework requires the use of development cycles called Sprints, the XP framework requires pair programming, and so forth.) “Lightweight” means that the overhead of the process is kept as small as possible, to maximize the amount of productive time available for getting useful work done.
Now coming to the task at hand. Let’s make use of the Incremental and Iterative methodology of the Agile Process for developing some of the features at Zomato such as rate/review restaurant, filters for search, and online ordering.
For building this feature we can start with a very Like or Dislike Button. If you liked the Restaurant you visited you just click Like (Thumbs Up). In case you were dissatisfied with experience, you just click Dislike (Thumbs Down). There will also be a text field to input your detailed experience or review in case desired by the user.
After we have seen how many people bothered to rate a restaurant in the first case we can go to the improvement. In the next iteration/increment we can remove the Like/Dislike and have Star ratings (1 to 5) for the restaurant to input your experience better. The text field stays.
In the next iteration we keep the overall Star Rating system. In addition users also have the choice to give star ratings for every aspect they liked like Food, Drinks, Ambiance, Service, Cost and Value for Money.
Next iteration would be an option to add photos to your reviews and be able to share restaurant details and your review on Social Media.
With the influx of more and more molecular gastronomy themed restaurants, it has become very essential for the food to have great presentation as well. Hence, in the last iteration we can have one more star rating option for ‘Insta-worthy’ or ‘Presentation’ where you can rate on basis of how the food looks.
Lastly also add option for users to bookmark a restaurant or add to wishlist and an option to check-in or a way to say I’ve visited this place.
Filters for Search
We can have the first version by starting with the basic filters such Sort by Rating and Sort by Cost. Here, we can also start off with filter to choose Locality of the Restaurant. Going forward in the next iterations we can include the following filters in every iteration/increment version of the Product -
- Veg or Non-veg Filter & a new Cuisine type filter
- Category filter — whether dinner, lunch, nightlife, snacks or fast food
- Popularity filter calculated based on no. of reviews, ratings, checkins, bookmarks etc. (Only filter option would be Popularity nothing else would be visible)
- Option to search by dish and nearby location
- Last would be add filters on basis of offers, buffet - available or not, timings - open or not, alcohol/bar - available or not, etc.
Zomato only offers a marketplace for listing of restaurants and does not provide food delivery. Food orders are taken on Zomato but delivery responsibility is of the restaurant. Iterations of the product could be as follows with each feature added in next iteration in the following order -
- Build a order booking portal with all the dishes present in the restaurant. User chooses the dish he wants delivered, adds delivery address and makes payment. Payment gateway will have facility to pay with netbanking, credit card/debit card and cash on delivery. Users will be provided contact details of vendor/restaurant for order dispatch details. User will have to connect with restaurant to know order status.
- Introduce option for payment through digital wallets and Zomato credits. Zomato Credits can be used to pay for orders and can be earned by referring friends and consistent order booking over period of time. Various offers can be created to earn and use Zomato Credits.
- Users can check order status to see if order is confirmed, prepared or dispatched. Users can also reorder past placed orders.
- Have separate Android & iOS apps for food ordering only with instant notifications for order status
- Restaurant recommendations and offers on mail and app based on past orders
That concludes the task at the hand. Please comment your views to improve this post. Cheers!!!