Agile Methodology — Food Delivery App — Incremental and Iterative Approach
By: Jujjavarapu R Pratap
Tags: Iterative Development, Product Management, Incremental Development, Agile Methodology

With inadvertent busy schedules creeping into ones lives,Online Food Ordering is considered to be a part of life among the new working generation, Millennial and the new upcoming Generation Z. A plethora of Applications (like zomato, swiggy, Uber eats, Fazoos etc), both web and Mobile, are available at the disposal for the new generations, with multitude of cuisines to order, check the review of hotels, search favorite restaurants,quick ordering of food etc. Considering Time to market for the launch in a cut-throat competition along with high customer satisfaction, Agile methodology with incremental and iterative approach is a prudent solution in designing and developing a food delivery app.

Agile as an Incremental Approach, entails delivering finished components of the whole in parts.Once finished, the features doesn’t require any more changes to be implemented in the components. Incremental Approach allows to stagger the release of features which are of utmost value to customers.A product Backlog is maintained with the features of high importance, that is a super set of scrum backlog which will be considered for sprint releases that are planned in terms of sprint cycles (a duration of maximum 10-15 days, depending on the complexity of the features which are a part o scrum cycle). Let’s say we have a feature “rate/review restaurant” to be built in the app, which have to go through the stages of development life cycle like ideation, design, implementation, testing and deployment. This feature is prioritized from the product backlog and is made as a part of the scrum cycle (as an epic) and the User stories are designed which will be taken care, in the scrum cycle, in terms of tasks the developers work upon.This feature is completed in all the terms of user stories, that satisfies the exit criteria of the epic and hence is released to the customer for the feedback. The customer now gives his feedback on the quality, effort the team has put in, and also the team will understand the expectations of the customer that serves as a valid input to proceed with the next Increments (filters for search, online ordering, etc.)of the application.

Agile as an Iterative Approach, allows for instant feedback at multiple levels of the product development process.This approach serves as a best fit, if the requirements are unclear for both the customer and scrum team.To build any feature (like rate/review restaurant) in an iterative approach, it is required to build wireframes (Use tools like Whimsical , Sketch, Balsamiq etc.)which are presented to the customer and gather the feedback, which is needed to make desired changes at the basic level of implementation.Once the wireframe is accepted, the next increment would be to add the mock-up and build an interactive prototype (Use tools like Marvel, Moqups, Invision, Figma etc.).After successful validation of the prototype, the feature will be implemented in the scrum cycle as mentioned earlier as part of Agile methodology. Every Iteration incorporates customer feedback and all the other features(filters for search, online ordering, etc.) will be released in different versions as a part of different increments.

To Summarize, Agile as a combination of both Incremental and Iterative approach is a good practice to follow in implementing features like rate/review restaurant,filters for search, online ordering, etc. for a food delivery app. The goal is to have a working software for every build. For every increment of a particular feature an iterative process of building the feature with wireframes,mock-ups and prototypes , and presenting them to the customer,will help to gather feedback that can be incorporated in the subsequent increments of the build.