Sign in

Zomato Feature using the Agile methodology

In this article, I will describe how I would have deployed the Agile methodology for roll-out and development for features of rate/review restaurant, filters for search, online ordering for Zomato. Covering different phases of Ideation, Design, Implementation, Testing, and Deployment for these three features.

Rate/Review Restaurant

Rating and restaurant review is peculiar in the digital age with user generating content on the platform. While a crowdsourced peer review makes much sense with an average of the aggregate information available to users to make a decision.

The following are the requirements for this feature in the order of priority:

  • User should be able to provide an overall rating for a restaurant
  • User should be able to review a restaurant by providing feedback/comments
  • User should be able to view the total number of reviews for a restaurant
  • User should be able to view the average rating for a restaurant
  • User should be able to upload pictures along with the review
  • User should be able to post the review and the rating to social media
  • User should be able to tag another user while reviewing a restaurant

Given the above list of requirements, we can arrive at the following list for the iterations:

  • Iteration #1: The team would work on the functionality to

— Allow a user to provide an overall rating for a restaurant

— View the average rating for a restaurant

— Review a restaurant by providing feedback and/or comments.

— View the total number of reviews for a restaurant

This includes design, development, and testing. At the end of the iteration, the team would demonstrate the functionality and gather feedback that would be incorporated into the next iteration.

  • Iteration #2: The team would now work on the functionality to

— Allow the user to upload pictures along with the reviews

— Post the rating and review to social media

— Tag another user while reviewing a restaurant

— Any carryover from the previous iteration

This includes design, development, and testing. At the end of the iteration, the team would again demonstrate the functionality and gather feedback.

  • Iteration #3: The team prepares to conduct detailed testing of this feature along with preparation for deployment.

Filters for search

The following are the requirements for this feature in the order of priority

User must be able to filter results based on the following filters

  • Category
  • Location
  • Cuisine
  • Average cost
  • Any promotional offers
  • Restaurant timings

Given the above list of requirements, we can arrive at the following list for the iterations:

  • Iteration #1: The team would work on the functionality to

— Filter results based on Category, Location, Cuisine

This includes design, development, and testing. At the end of the iteration, the team would demonstrate the functionality and gather feedback that would be incorporated into the next iteration.

  • Iteration #2: The team would work on the functionality to

— Filter results based on Average cost, availability of promotional offers, and the “Open now” feature

— Any carryover from the previous iteration

This includes design, development, and testing. At the end of the iteration, the team would again demonstrate the functionality and gather feedback.

  • Iteration #3: The team would work on making a combination filtering available on the search results page.

Online ordering

The following are the requirements for this feature in the order of priority

  • User must be able to view the restaurants that accept online ordering
  • User must be able to view the restaurant menu
  • User must be able to view any limitations on the online order
  • Users must be able to select order pickup/delivery options and the estimated time for each option.
  • User must be able to input any special requests

Given the above list of requirements, we can arrive at the following list for the iterations:

  • Iteration #1: The team would work on the functionality to

— Allow the user to search for restaurants that are offering an online ordering facility

— Allow the user to view the restaurant's menu, items, price, description of the item, veg/non-veg indicator and must be able to add it to the cart

View any limitations on online ordering such as Minimum order amount, payment options accepted, etc.

— Ability to specify whether the user wants to pick up the food or wants the food delivered. Also, an ETA for both options to be listed

Provide promotional offers

This includes design, development, and testing. At the end of the iteration, the team would demonstrate the functionality and gather feedback that would be incorporated into the next iteration.

  • Iteration #2: The team would now work on the functionality to

Increase payment options supported

— Ability to input any special requests along with the order

— Any carryover from the previous iteration

This includes design, development, and testing. At the end of the iteration, the team would again demonstrate the functionality and gather feedback.

  • Iteration #3: The team prepares to conduct detailed testing of this feature along with preparation for deployment.
  • Iteration #4: Product release formalities

Conclusion

The significance of agile during feature development of the app is the power to break the development process into smaller working pieces. These pieces are then developed, implemented, and tested piece by piece. Rather than delaying feedback until final delivery when time and resources have already been spent, incremental development ensures that teams can use feedback to make changes early and often.