Agile Development Methodology for Zomato
By: Nikhil Japtiwale
Tags: Agile Methodology

Zomato is an Indian restaurant aggregator and food delivery. This story talks about the use of agile methodology to builds up new features for the zomato product like rate/review restaurant, filters for search, online ordering, etc.

What is Agile Methodology?

Agile methodology is a practice that follows continuous iteration and incremental development to reach the expected /final software version. In this methodology, the final user can have frequent opportunities to look at the product or its initial version. It helps in course correction during the app/software development.

Agile Methods breaks the product into small incremental builds. These builds are provided in iterations. Each iteration typically lasts from about one to three weeks. Every iteration involves cross functional teams working simultaneously on various areas like planning, requirements analysis, design, coding, unit testing, and acceptance testing. Incremental software development entails delivering finished components of the whole in parts. It allows the team to stagger the release of features which are of utmost value to customers. Whereas, iterative software development allows for instant feedback at multiple levels of the product development process.

As mentioned earlier, Let’s consider three features from Zomato app:

· Rate/Review a restaurant

· Filters for search

· Online Ordering

At the start of the agile development process, the product team will first decide the features and the UI design will be finalized with the help of UX team.

Once the design is ready for the features, product team will divide each of the above feature into small user stories and will create a product backlog.

At the start of the Sprint planning meeting the highest priority user stories will be planned for the upcoming sprint according to Dev team bandwidth and technical dependency.

The stories then added to Sprint backlog. The dev team then will start updating the sprint backlog daily as per status.

For Zomato above 3 features can be divided in to below user stories which need to be elaborated further by BA or product owner.

Rate and review restaurants:

1. Rate a restaurant on a 5 point scale and write a text review for the same. (Sprint 1)

2. See overall rating for a restaurant (Sprint 1)

3. See list 10 reviews for a restaurant (Sprint 2)

4. View average rating for a restaurant (Sprint 1)

5. Show review given by people you are following on Zomato (Sprint 2)

Online Orders:

1. Show list of restaurants that allow online order (Sprint 1)

2. Show restaurant along with price of dishes (Sprint 1)

3. Add / Remove dishes to /from cart (Sprint 1)

4. View order summary and place order (Sprint 1)

5. Payment options Cards and Cash (Sprint 1)

6. Integration with Wallets (Sprint 2)

7. View order completion status and track order (Sprint 2)

8. Rate delivery (Sprint 2)

9. Show earlier orders (Sprint 2)

Filter on Search:

1. Search by restaurant name (Sprint 1)

2. Search by location (Sprint 1)

3. Search by cuisine (Sprint 1)

4. Search by price range (Sprint 1)

5. Search by trending (Sprint 2)

6. Search by user ratings (Sprint 2)

Usually each sprint is of 2 weeks duration. Each sprint will consists of below activities which are necessary as part of Agile.

Sprint Planning: At the start of sprint, development team will share their views with the product owner on the time needed and will share the plan on the tasks that can be completed in the defined two weeks period.

Daily Standup: As the name suggests, team will meet daily for 15 minutes everyday and discuss 3 keys points:

1. Tasks completed yesterday?

2. To be completed today?

3. Roadblocks, if any?

In case of a remote team, a chat or a group will be used for this.

Sprint Review or Sprint Demo: At the end of sprint, product owner will review the product developed by team during the current sprint and will review it against all the user stories and the acceptance criteria shared in the planning stage. Based on this go and no-go decision will be taken. This might involve Demo of current functionalities to product owner and Bas.

Sprint Retrospective: Once the sprint is over, development team will discuss about ‘what went well’ and ‘what could be better’.

In the end, if any story is not completed, it will move back into the product backlog. It’s then up to the product owner to decide the priority of these user stories.

This way with each iteration the product reaches to expected level of product owner or user.