Zomato Feature Development -Using Agile

Ruchi Sharma
4 min readMay 27, 2020

Zomato is an Indian restaurant aggregator and food delivery start up founded in 2008 . Currently it has presence in over 28 countries and more then 10,000 cities.

Like any other new age startups , Zomato also follows agile methodology for its software development. In this post we would learn how a feature is developed using agile in Zomato.

What is Agile methodology for software development ?

Agile software development refers to software development methodologies centered round the idea of iterative and incremental development, iterative development where requirements and solutions evolve through collaboration between self-organizing cross-functional teams.

Iterative development is the process of repeating and refining a cycle/way of working (an iteration).

Iterative Development

An incremental development process works on the basis that work is sliced into pieces (increments). Each increment builds on top of what has gone before. So, fully functioning modules of functionality are built up over time, with each adding to what has already been produced.

Waterfall vs Agile ?

Waterfall is the sequential method of software development where each phase is dependent on its previous phase whereas agile is a continuous iteration of development and testing in the software development process.

Waterfall is mostly used in products where all requirements are already known and there is no scope of change in later stages , whereas Agile allows changes in the requirements in the later time . Agile is known for its flexibility.

Agile vs Waterfall

Agile demonstration for Zomato features

Lets consider the below mentioned features:

  1. Rate/Review Restaurant
  2. Filters to search for restaurant
  3. To enable online ordering of food

As part of agile , these features would be prioritized from product backlog and transferred to sprint backlog. In sprint backlog , after the development team provides estimates , work gets started on these.

As we mentioned before, agile follows iterative development model so at the end of each sprint there has to be release of working version of software.

Likewise these features will also be planned to release in versions , each version having some improvements over the last one.

Rate/Review Restaurant

Version 1.1 :

  1. To give star rating to a restaurant.
  2. To enable user to write a text review.

Version 1.2 :

  1. Users can comment on other reviews , as well as mark the review helpful or not.
  2. While writing review , adding photos option is also available.

Version 1.3 :

  1. To ask from user ,things which they actually like and the one which they didn’t like , this info can be further used in filtering out the restaurant listings.

Filter for Search

Version 1.1 :

  1. To provide location based filtering . By location i mean based on the city selected , local regions of that city can be the first filter to search.
  2. Cuisine like North Indian , Chinese , fast food , South Indian etc

Version 1.2 :

  1. Once rate/review restaurant feature is live , data available from that like filters based on rating , avg customer review can be added.
  2. Restaurant serving attributes like only take away , dine out or both.
  3. Meal time offered like dinner, lunch , breakfast ,snacks , restaurants can be filtered.

Version 1.3 :

  1. More personalized filter like if restaurants are kids friendly , wheelchair assistance , luxury dining and many more.
  2. Filters for the offers and promotions offered by restaurants.

Online Food Ordering

Version 1.1:

  1. Showing list of restaurants which accept online order .
  2. Select the restaurant and further select the dishes and quantity.
  3. Finalize the order and proceed to add address .
  4. Cash and card as the payment method options
  5. Enter coupon code if applicable
  6. Place order.
  7. Share the notification via sms /email with driver details and ETA .

Version 1.2 :

  1. Adding more payment options like wallets and integrating with UPI.

(Banks can be added but requires lot of licensing work)

2. Add option to search the items in menu , really handy for user to search for particular item in menu rather then searching for whole menu.

3. Placed order can be tracked live ,with driver movement updates in real time.

Version 1.3 :

  1. Past orders have option to reorder , facilitating users not to follow the whole process again.
  2. Combining orders from multiple restaurants instead of multiple orders.

Summary

Overall through these features , we would want to reiterate the fact that how agile is a better approach for software development . It follows “Fail-Fast” principle.

Fail-Fast principle encourages us to fail fast and early: If an error occurs, fail immediately and visibly. If something unusually or unexpectedly occurs, let the software fail immediately instead of postponing the failure or working around the failure.

Thats all from my end . if u liked what you read , don’t forget to express it via likes.

--

--

Ruchi Sharma

An accidental technical program manager who likes to keep things simple :-)