Developing application features using Agile methodology

Prabhakar Mishra
3 min readJul 15, 2020

Intelligence is the ability to adapt the change

- Stephan Hawking

Agile is the ability to create and respond to change. It is a way of dealing with, and ultimately succeeding in, an uncertain and turbulent environment.

Most agile development methods break product development work into small increments that minimize the amount of up-front planning and design. Iterations, or sprints, are short time frames (timeboxes) that typically last from one to four weeks.

Agile methodology(source- chercher.tech)

Each iteration involves a cross-functional team working in all functions: planning, analysis, design, coding, and testing. At the end of the iteration, a working product is demonstrated to stakeholders. This minimizes overall risk and allows the product to adapt to changes quickly. An iteration might not add enough functionality to warrant a market release, but the goal is to have an available release (with minimal bugs) at the end of each iteration.

Multiple iterations might be required to release a product or new features. Working software is the primary measure of progress. Refer to the below diagram to understand different phases and their primary activity.

Let’s understand with an example of how can we build features in a restaurant application using the agile methodology. Given the table below shows the sprint wise feature ideation to the deployment process.

In sprint 1, you can start the ideation for the features like rating and search, in sprint 2, you can pick filters by various parameters like location and cuisine and so on.

As soon as the team completes the feature ideation, they can give the details to the UX/Design team to build the visual designs. The design team can complete the visuals and move the features into the next phase.

This step by step process for each feature can be followed during ideation, design, implementation, testing, and deployment. The team doesn’t need to wait for all the features to get completed before they can move it to the next phase. The beauty of agile is, as soon as the feature is ready you can make it available for the next team.

Here the few benefits of the agile methodology:

  • The agile methodology makes it easier to add features and functionality throughout the project
  • Module re-writes can happen as part of the project process to align to changing requirements
  • Sprint priorities are assessed frequently
  • Communication is high on an Agile touchpoint due to daily touchpoints (Scrum/Stand-ups)
  • The testing at the end of each sprint ensures that bugs/defects are found early on in the process.
  • As a result of testing within the Sprint, the product can be launched anytime after a Sprint.
  • The agile methodology is very intense on developers and project team members as they are constantly engaged.
  • It is potentially a waste of effort to introduce an agile project without a clear vision, time boxing, and scope trade-off discipline in place.

--

--