Implementation of Agile Methodologies
Problem Statement
Let’s consider you are a product manager at a company like Zomato. To release any feature, let’s say you have four or five steps like ideation, design, implementation, testing, and deployment. And you have 3–4 features like rate/review restaurant, filters for search, online ordering, etc. in line for next releases. How you would go about the development of these features using the Agile methodology, incremental, and iterative way of development. You need not go into the details of each step, but clearly specify the increments and iterations
Company Profile Tata NQ
Tata NQ, is a science-backed Nutritional Solutions arm from Tata Chemicals Ltd, which powers microbiome innovations. Specialized in fermentation technology, group of scientists with an avid interest and expertise in area of microbiome health and food application science work to create `healthy indulgence’ solutions.
It manufacture Prebiotics, Fossence and Gossence, the food for the beneficial microorganisms in your gut via nature inspired fermentation. From cookies, milk drinks, nutribars to chocolates, our team has created prototypes for delivering healthy prebiotics in tasteful ways.
Introduction to Product Development Process
The product development process starts from an Idea followed by steps such as market and user research, product planning, designing, development, testing, deployment, maintenance, enhancements, etc.
Now next question arises, what are the different methodologies that can be used to develop a product and how to know which methodology is the right choice for our product
Some of the most common methodologies for developing a product is a waterfall, Agile lean design thinking, etc, to answer the question whether methodology chosen is right for our product or not is difficult to predict, however, we can consider some factors before choosing
Factor1: How clear we are with the requirements of the product?
Factor2 How comfortable we are with the technology that we will be using for Building a Product
Stacey matrix is one of the ways by which we can decide the methodology to use
The above screenshot is a graph comprises of Requirements on Y-axis and Technology on X-axis If we closer to Y-axis this means our requirements are clear and in agreement if we are farther that implies requirements are clear and there is disagreement, same analogy applied on X-axis related to Technology.
Based on Graph there can be four combinations related to Technology and Requirements
Combination 1: Requirement unknown Technology known This implies we are entering a new market with an existing product, example zomato selling grocery during COVID 19, here Agile can be considered as the preferred methodology
Combination 2: Requirement Known and Technology is known This implies we are very much clear on what is expected, Banking apps or Windows update are some of the examples, where the waterfall is preferred methodology for building products.
Combination3: Requirement unknown and Technology unknown in this scenario we can consider Lean strategy and Design Thinking Methodology example: Length of a tweet at the inception of twitter
Combination4: Requirement is known and Technology unknown: Virtual reality or cloud computing 10 years ago here also agile is the most preferred Methodology
In today’s Fast-paced world to maintain a competitive edge, businesses need to keep improvising their services and that too as quickly as possible and online business Agile has become the new norm, apart from this agile do offer following advantages as shown in below screenshot
What is Agile?
There is no one giant step that does it. It’s a lot of little steps.
Peter A. Cohen
Agile is an umbrella term for several iterative and incremental software development approaches, It’s a process of developing a product that has the capability to tackle invariability and unpredictability, uses both Incremental — Iterative software development approaches
The most popular agile frameworks include Scrum, Crystal, Dynamic Systems Development Method, and Feature-Driven Development
Let’s discuss Iterative and Incremental Software development models
Please see below screenshot to get perspective of these models
Iterative model : performing repeatedly, i.e. adding new functionality in a repetitive or cyclic manner
Incremental — adding new functionality in small chunks
The magic happens when we combine both iterative and Incremental in a flexible work environment
Scrum Framework of Agile combines both iterative and incremental models
Scrum Framework
This framework is used for developing and sustaining complex products . As per scrum.org, Scrum is used by more than 12 million people around the world for building small and big products.
1. It has built in stability
2. Self Organizing team
3. Overlapping development phases
4. Multi learning
5. Subtle Control
6. Organizational transfer of learning
Scrum Roles
a. Product Owner Represents the customer and other stakeholders Responsible for getting the maximum ROI
b. Scrum Master — A role orthogonal to Product Owner, this person helps the team achieve the task and build long term sustainability. He/she is the servant leader of the team
c. Developers — Everyone else on the team is called a developer, irrespective of their qualifications, expertise, and work.
Scrum Ceremonies These are the activities performed to make sure that amazing software is delivered to the end-user.
a. Sprint Planning team determines the product backlog items they will work on during that sprint and discusses their plan for completing those product backlog items.
b. Daily Scrum is to inspect and synchronize the team’s progress towards the Sprint Goal, discuss if anything impedes the team, and re-plan the team’s work to achieve the Sprint Goal.
c. Sprint Review: is an informal meeting which the development team, the scrum master, the product owner, and the stakeholders will attend. The team gives a demo on the product and will determine what are finished and what aren’t.
d. Sprint Retrospective: is an opportunity for the Scrum Team to inspect itself and create a plan for improvements to be enacted during the next Sprint. The Sprint Retrospective occurs after the Sprint Review and prior to the next Sprint Planning.
Scrum Artifacts: provide key information that the Scrum Team and the stakeholders need to be aware of for understanding the product under development
a. Product Backlog — Created by the Product Owner, after consultation with multiple stakeholders Contains Requirements in the form of Features, epics, and User Stories, Backlog is prioritized and the most important user stories are moved to sprint
b. Sprint — time-boxed period ranging from 1 week to 4 weeks varying as per company and requirements, Team create the subtask for the user stories and start working on them to convert into potentially shippable software.
c. Sprint Backlog This contains the top priority item of Product backlog can include high severity bugs also.
Scrum Process
Working of Process
Product owner interacts with customers stakeholders, study market, analyze the competition
Based on the inputs received conducts research using methods such as surveys, interviews, contextual inquiry, A/B testing, etc
Consequently identifies the primary persona for which product needs to build and after that defines the user journey map
The User Journey map is the complete journey where a customer interacts with the product to get his /her goal fulfilled
In the case of zomato , Primary persona is a working professional living in Metropolitan cities and his/her journey will start from
1. Coming to zomato app,
2. Explore food options,
3. Filter out based on preferences,
4. Complete order transaction
5. Share feedback of complete experience
Based on the User journey Product owner/product manager creates a product backlog from product backlog most important and prioritized requirement is moved to a sprint.
Let us Understand the Sprint Process
Below screenshot represents how user stories move in a sprint
User stories, which are basically the placeholder for conversation, Initially all are in Not started phase, once the team starts working they are moved to in progress when all task related to user story is done they are marked as complete, A demo is given to product owner, If he/ she approves than that user story is marked as complete and ready to be deployed, if not team reworks till product owner approves
Some of the common tools which are used in the Software Industry for Tracking sprints are, Jira, ALM, DevOps, etc
For each user story team member of the scrum creates a task, which he/ she think is needed to complete that user story. Since we have a cross-functional team ranging from developers to QA, developers will have tasks such as Write code, Write Unit test cases, Similarly QA will have tasks such as Write functional test cases, Execute test cases, Raise Bugs, etc.
User story moves from one stage to another stage depending upon whether all task attached to that has been completed or Not
Once all tasks related to user story are completed user story is marked as Ready for demo
We will use the all above learning to develop features for FOS buyer experience.
Feature 1: Rate Review Product: This feature can be further broken down into smaller requirements in the form of user stories
Example of an Epic user story for this feature
As a Developer, I would like to check the rating so that I can track the business performance of each grade of product and the sales margin to track the customer preference.
This could be further broken down into small user stories such as
a. Create a Rating scale for user
b. Create a Star rating system
c. Create a Sorting review functionality based on date
e. Create a Sorting reviews functionality based on rating
f. Create a functionality for adding pictures along with comments for addressing the customer compaints and greviences
g. Create a functionality for adding Video reviews
Feature 2:Tracking the metrics of production rate and the basic terminologies associated with the product quality.
Here there should be system to enter the key metric production on daily basis and enter the parameters under control and deviations as one unit.
Summary
Agile supports and enables any startup to be fast-paced, flexible, and dynamic, It’s a powerful framework, which when executed by a cross-dimensional team, Scrum master and product owner can produce wonderful and life-changing products .