Agile Methodology

What is Agile Methodology?
  • It is an Iterative and Incremental Approach.
  • Iterative means same process repeating again and again.(The process keeps on repeating).
  • Incremental means, modules/features keep on adding on top of existing software. 
  • Agile is Iterative and Incremental model where requirements keeps on changing. 
  • As a company we should be flexible to accept requirements change, develop, test and finally release a peace of working software within short span of time.
  • There will be good communication between Customer, Business Analyst, Developers & Testers.
  • The Goal of the agile model is the customer satisfaction by delivering the piece of the software to the customer within short span of time.
  • Agile Testing is type of testing where we follow the agile principles. 
  • Requirement changes are allowed in any stage of development (or) We can accommodate Requirement changes in the middle of development.
  • Releases will be very fast( Weekly)
  • Customer no need to wait for long time.
  • Good communication between team.
  • It is very easy model to adopt.
  • Less focus on design and documentation since we deliver software very faster.
What is Scrum?

Scrum is a framework through which we build software product by following Agile Principles.

Scrum includes group of people called as Scrum team. 
  • Product Owner
  • Scrum Master
  • Dev Team
  • QA Team
Product Owner :
  • Define the features of the product 
  • Prioritize features according to market value  
  • Adjust features and priority every iteration, as needed   
  • Accept or reject work results.  
Scrum Master:
  • The main role is facilitating and driving the agile process.
Developers and QA:
  • Develop and Test the software.
Agile Vs Scrum

Focus: Agile is an approach to project management and product development that emphasizes flexibility and customer satisfaction.
Key Principles: It values collaboration, adaptability, and delivering small, functional pieces of a project regularly.
Benefits: Allows for changes in project requirements, encourages customer feedback, and promotes a collaborative team environment.

Type of Agile Framework: Scrum is one of the specific frameworks within the broader Agile methodology.
Roles: In Scrum, there are defined roles - Scrum Master, Product Owner, and Development Team.
Artifacts: It uses specific artifacts like the Product Backlog, Sprint Backlog, and Increment to manage and deliver work.
Events: Scrum includes specific events or ceremonies like Sprint Planning, Daily Standup, Sprint Review, and Sprint Retrospective.

Scrum Terminology

User Story :  A Feature/module in a software

Epic : Collection of user stories. 

Product backlog : Contains list of user stories. Prepared by product owner.

Sprint : Period of time to complete the user stories, decided by the product owner and team, usually 2-4 weeks of time.

Sprint planning meeting: Meating conducts with the team to define what can be delivered in the sprint and duration.

Sprint backlog : List of committed stories by Dev/QA for specific sprint.

Scrum meeting : Meating conducted by Scrum Master everyday 15 mins. Called as Standup meeting.
  1. What did you do yesterday?
  2. What will you do today?
  3. Are there any impediments in your way?
Sprint retrospective meeting : Review meeting after completion of sprint. The entire team, including both the ScrumMaster and the product owner should participate.

Story point : Rough estimation of user stories, will be given by Dev & QA in the form of Fibonacci series.

Burndown chart : Shows how much work remining in the sprint. Maintained by the scrum master daily.

DoR & DoD
  • Definition of Ready (DoR):
    • Preparation: Ensures tasks are well-prepared before starting work.
    • Clarity: Describes what needs to be done, making sure everyone understands the plan.
    • Timing: Decided before starting a task or user story during planning.
    • Owner: Managed by the task planner or team lead.
    • Adjustable: Can be tweaked as needed during planning.
  • Definition of Done (DoD):
    • Completion: Declares when a task or user story is considered finished.
    • Criteria: Lists specific standards that must be met for completion.
    • Timing: Decided at the beginning of the project or sprint.
    • Shared Responsibility: Owned by the entire team, including developers and testers.
    • Consistency: Should remain constant during the sprint; changes considered for future sprints.
Agile Meetings

1) Sprint Planning:
  • Attendees: Entire team (developers, testers, product owner).
  • When: At the beginning of each sprint.
  • Duration: Typically 1-2 hours.
  • Purpose: Plan and prioritize tasks for the upcoming sprint.
2) Daily Standup (Daily Scrum):
  • Attendees: Entire team.
  • When: Daily, preferably in the morning.
  • Duration: 15 minutes or less.
  • Purpose: Share updates on work, discuss challenges, and align for the day.
3) Sprint Review:
  • Attendees: Team, stakeholders, product owner.
  • When: At the end of each sprint.
  • Duration: 2-4 hours.
  • Purpose: Showcase completed work, gather feedback, and discuss what's next.
4) Sprint Retrospective:
  • Attendees: Team members.
  • When: At the end of each sprint, after the sprint review.
  • Duration: 1-2 hours.
  • Purpose: Reflect on the sprint, discuss what went well and what could be improved, and plan for adjustments.
5) Backlog Grooming (Refinement):
  • Attendees: Product owner, Scrum Master, development team.
  • When: As needed between sprints.
  • Duration: Typically 1-2 hours.
  • Purpose: Review and refine the product backlog, ensuring items are well-defined and ready for upcoming sprints.

Story point
A story point is a unit of measure used to estimate the difficulty or complexity of a task or user story. 
Estimating a user story in Agile involves assigning it a story point value, and teams often use the Fibonacci sequence (1, 2, 3, 5, 8, 13, etc.) 

Estimating a story using story point

User Story: "As a user, I want to be able to log in to the application using my email and password."

Estimation Process:
  • Understand the User Story:
    • The team discusses the user story to ensure everyone understands what's required. Logging in with email and password seems straightforward.
  • Compare Complexity:
    • The team compares this user story to a reference story. Let's say the reference story is a simple one-point story, like "displaying a welcome message."
  • Use Relative Sizing:
    • Team members discuss and agree that logging in is a bit more complex than displaying a welcome message but not significantly more complex. They decide to assign it a story point value of 2.
  • Fibonacci Sequence:
    • The team considers whether the complexity is closer to 2 or 3 in the Fibonacci sequence. After discussion, they agree that 2 is a more accurate representation.
  • Team Consensus:
    • The team discusses any differing opinions. If someone initially suggested 3, they might discuss why they thought it was more complex. After a brief discussion, the team reaches a consensus, and everyone agrees on 2 story points.
  • Record the Estimate:
    • The team records the estimate of 2 story points for the "log in" user story. This estimate will be used for planning and prioritizing in the upcoming sprint.
1 Story Point: Typically takes a few hours to complete (half a day).
2 Story Points: Could take a day to a day and a half.
3 Story Points: Might take two days.
5 Story Points: Could take around three days.
8 Story Points: A larger task, likely taking a week.
13 Story Points: A significant effort, possibly spanning multiple weeks.

Burn-Down Charts
There are four popularly used burn down charts in Agile.
  • Product burndown chart : A graph which shows how many Product Backlog Items (User Stories) implemented/not implemented.
  • Sprint burndown chart : A graph which shows how many Sprints implemented/not implemented by the Scrum Team.
  • Release burndown chart : A graph which shows List of releases still pending, which Scrum Team have planned.
  • Defect burndown chart : A graph which shows how many defects identified and fixed.