0% found this document useful (0 votes)
5 views

Agile and Scrum Methodology

Agile is a project management methodology that enhances efficiency in software development through iterative processes and collaboration among self-organizing teams. It emphasizes customer satisfaction, flexibility, and continuous improvement, with Scrum being a popular framework within Agile that focuses on delivering products in short, manageable sprints. The document outlines the principles, benefits, and roles within Agile and Scrum, highlighting the importance of teamwork and adaptability in achieving project goals.

Uploaded by

abdul khaliq
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
5 views

Agile and Scrum Methodology

Agile is a project management methodology that enhances efficiency in software development through iterative processes and collaboration among self-organizing teams. It emphasizes customer satisfaction, flexibility, and continuous improvement, with Scrum being a popular framework within Agile that focuses on delivering products in short, manageable sprints. The document outlines the principles, benefits, and roles within Agile and Scrum, highlighting the importance of teamwork and adaptability in achieving project goals.

Uploaded by

abdul khaliq
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 32

Agile software developement

What is agile?

■ Agile is a process that allows a team to


more efficiently manage a project by
breaking it down into several stages,
each of which allows for consistent
collaboration with stakeholders to
promote steady improvements at every
stage.
■ In software development, agile practices
involve discovering requirements and
developing solutions through the
collaborative effort of self-organizing and
cross-functional teams and their
customer/end user.
Some of the real life examples of
agile model:

■ Restaurant orders:
– Preparation of some of the food before
opening the shop (sprint planning)
– continuous delivery of orders (adhoc stories)
– number of successful orders (velocity)
■ cricket team:
– Run rate (velocity)
– team (scrum team self sufficient)
– over (sprint length)
– captain/ coach (scrum master)
What are the 12 principles of
agile?
■ Customer satisfaction
■ Early and continuous delivery
■ Embrace change
■ Frequent delivery
■ Collaboration of businesses and developers
■ Motivated individuals
■ Face-to-face conversation
■ Functional products
■ Technical excellence
■ Simplicity
■ Self-organized teams
■ Regulation, reflection and adjustment
Agile methodology

■ Agile methodology is a type of project management process, mainly used for


software development, where demands and solutions evolve through the
collaborative effort of self-organizing and cross-functional teams and their
customers.
■ Agile software development refers to a group of software development
methodologies based on iterative development, where requirements and
solutions evolve through collaboration between self-organizing cross-
functional teams. Agile methods or Agile processes generally promote a
disciplined project management process that encourages frequent inspection
and adaptation, a leadership philosophy that encourages teamwork, self-
organization and accountability, a set of engineering best practices intended
to allow for rapid delivery of high-quality software, and a business approach
that aligns development with customer needs and company goals.
Examples of Agile Methodology

■ Agile Scrum Methodology.


■ Lean Software Development.
■ Kanban.
■ Extreme Programming (XP)
■ Crystal.
■ Dynamic Systems Development Method (DSDM)
■ Feature Driven Development (FDD)
scrum

■ The software development term scrum was first used in a 1986 paper titled "The New
Product Development Game". The term is borrowed from rugby, where a scrum is a
formation of players. The term scrum was chosen by the paper's authors because it
emphasizes teamwork.
■ Scrum is a subset of Agile. It is a lightweight process framework for agile development,
and the most widely-used one.
■ Scrum is an agile project management methodology or framework used primarily
for software development projects with the goal of delivering new software capability
every 2-4 weeks.

■ Scrum is an agile framework for developing, delivering, and sustaining complex


products, with an initial emphasis on software development, although it has been used
in other fields including research, sales, marketing and advanced technologies.
Agile scrum methodology

■ Agile scrum methodology is a project management system that relies on incremental


development. Each iteration consists of two- to four-week sprints, where each sprint's
goal is to build the most important features first and come out with a potentially
deliverable product. More features are built into the product in subsequent sprints
and are adjusted based on stakeholder and customer feedback between sprints.
■ Whereas other project management methods emphasize building an entire product in
one iteration from start to finish, agile scrum methodology focuses on delivering
several iterations of a product to provide stakeholders with the highest business
value in the least amount of time.
■ Agile scrum methodology has several benefits. First, it encourages products to be
built faster, since each set of goals must be completed within each sprint's time
frame. It also requires frequent planning and goal setting, which helps the scrum
team focus on the current sprint's objectives and increase productivity.
Lifecycle of Scrum:

■ Sprint:
A Sprint is a time-box of one month or less. A new Sprint starts
immediately after the completion of the previous Sprint.
■ Release:
When the product is completed then it goes to the Release
stage.
■ Sprint Review:
If the product still have some non-achievable features then it
will be checked in this stage and then the product is passed to
the Sprint Retrospective stage.
■ Sprint Retrospective:
In this stage quality or status of the product is checked.
■ Product Backlog:
According to the prioritize features the product is organized.
■ Sprint Backlog:
Sprint Backlog is divided into two parts Product assigned
features to sprint and Sprint planning meeting.
How Scrum Works

■ In a rugby scrum, all the players literally put their heads together. When it comes to software
development, a scrum can be characterized by
developers putting their heads together to address complex problems.
■ Scrum software development starts with a wish list of features — a.k.a. a product backlog. The
team meets to discuss:
– The backlog.
– What still needs to be completed.
– How long it will take.
■ Scrum relies on an agile software development concept called sprints:
– Sprints are periods of time when software development is actually done.
– A sprint usually lasts from one week to one month to complete an item from the backlog.
– The goal of each sprint is to create a saleable product.
– Each sprint ends with a sprint review.
– Then the team chooses another piece of backlog to develop — which starts a new sprint.
– Sprints continue until the project deadline or the project budget is spent.
■ In daily scrums, teams meet to discuss their progress since the previous meeting and make plans
for that day.
– The meetings should be brief — no longer than 15 minutes.
– Each team member needs to be present and prepared.
■ The ScrumMaster keeps the team focused on the goal.
How Scrum Works
Introduction to Scrum Terms

■ An introduction to Scrum would not be complete without knowing the


Scrum terms you'll be using. This section in the Scrum overview will
discuss common concepts in Scrum.
■ Scrum team: A typical scrum team has between five and nine
people, but Scrum projects can easily scale into the hundreds.
However, Scrum can easily be used by one-person teams and often is.
This team does not include any of the traditional software engineering
roles such as programmer, designer, tester or architect. Everyone on
the project works together to complete the set of work they have
collectively committed to complete within a sprint. Scrum teams
develop a deep form of camaraderie and a feeling that “we’re all in
this together.”
Who is in the Scrum?/Scrum
Terms
■ Product owner: The product owner is the project’s key stakeholder and
represents users, customers and others in the process. The product owner is
often someone from product management or marketing, a key stakeholder or
a key user.
■ Scrum Master: The Scrum Master is responsible for making sure the team is
as productive as possible. The Scrum Master does this by helping the team
use the Scrum process, by removing impediments to progress, by protecting
the team from outside, and so on.
■ Product backlog: The product backlog is a prioritized features list containing
every desired feature or change to the product. Note: The term “backlog” can
get confusing because it’s used for two different things. To clarify, the product
backlog is a list of desired features for the product. The sprint backlog is a list
of tasks to be completed in a sprint.
■ Sprint planning meeting: At the start of each sprint, a sprint planning meeting is held,
during which the product owner presents the top items on the product backlog to the team.
The Scrum team selects the work they can complete during the coming sprint. That work is
then moved from the product backlog to a sprint backlog, which is the list of tasks needed to
complete the product backlog items the team has committed to complete in the sprint.
■ Daily Scrum: Each day during the sprint, a brief meeting called the daily scrum is
conducted. This meeting helps set the context for each day’s work and helps the team stay
on track. All team members are required to attend the daily scrum.
■ Sprint review meeting: At the end of each sprint, the team demonstrates the completed
functionality at a sprint review meeting, during which, the team shows what they
accomplished during the sprint. Typically, this takes the form of a demonstration of the new
features, but in an informal way; for example, PowerPoint slides are not allowed. The
meeting must not become a task in itself nor a distraction from the process.
■ Sprint retrospective: Also at the end of each sprint, the team conducts a sprint
retrospective, which is a meeting during which the team (including its ScrumMaster and
product owner) reflect on how well Scrum is working for them and what changes they may
wish to make for it to work even better.
■ Each of the Scrum terms has its own page within the Scrum section, so be sure to check out
all the pages in the navigation.
A Visual Introduction to Scrum

This graphic is an introduction to the


essential elements of using Scrum for agile
software development. On the left, we see
the product backlog, which has been
prioritized by the product owner and
contains everything desired in the product
that’s known at the time. The two to four
week sprints are shown by the larger green
circle.
■ At the start of each sprint, the team selects some amount of work
from the product backlog and commits to completing that work during
the sprint. Part of figuring out how much they can commit to is
creating the sprint backlog, which is the list of tasks (and an estimate
of how long each will take) needed to deliver the selected set of
product backlog items to be completed in the sprint.
■ At the end of each sprint, the team produces a potentially shippable
product increment — i.e. working, high-quality software. Each day
during the sprint, team members meet to discuss their progress and
any impediments to completing the work for that sprint. This is known
as the daily scrum, and is shown as the smaller green circle above.
■ Scrum is the type of Agile framework. It is a framework within
which people can address complex adaptive problem while
productivity and creativity of delivering product is at highest possible
values. Scrum uses Iterative process.
Key Features of Scrum
Methodology
■ Scrum has a short fixed schedule of
release cycles with adjustable scope
known as sprints to address rapidly
changing development needs. Each
release could have multiple sprints.
Each Scrum Project could have
multiple Release Cycles.
■ A repeating sequence of meetings,
events, and milestones
■ A practice of testing and implementing
new requirements, known as stories,
to make sure some work is released
ready after each sprint
Who can benefit from scrum?

■ While scrum can benefit a wide variety of businesses and projects, these
are the most likely beneficiaries:
■ Complicated projects: Scrum methodology is ideal for projects that
require teams to complete a backlog.

■ Companies that value results: Scrum is also beneficial to companies


that value results over the documented progress of the process.

■ Companies that cater to customers: Scrum can help companies that


develop products in accordance with customer preferences and
specifications.
What are the benefits of agile scrum
methodology?

■ Here are some of the collective benefits of agile scrum methodology:


■ Flexibility and adaptability
■ Creativity and innovation
■ Lower costs
■ Quality improvement
■ Organizational synergy
■ Employee satisfaction
■ Customer satisfaction
Benefits of Scrum
■ Rugby players try to gain control of the ball in the scrum and move it downfield.
Software developers use scrum to move their projects quickly. And the benefits
trickle down to software developers:
■ Developers who want the freedom to make decisions thrive in scrum teams. Team
morale tends to be high.
■ Each sprint produces a product that is ready for market even though the project is
ongoing. The highest priority requirements are addressed first so a high-quality, low-
risk product can be on the market.
■ The incremental process shortens the time to market by about 30 percent to 40
percent. Because the product owner is part of the scrum team, requirements can be
delivered as they are needed.
■ Scrum projects often realize a higher return on investment (ROI). This is attributed to:
– Decreased time to market.
– Early and regular feedback that prompts course corrections early when they are
less costly.
– Defects that are fewer and less costly.
– Projects failing early and quickly when it’s less costly.
■ Reviewing each sprint before the team moves on to the next sprint spreads testing
throughout development.
■ Project focus and goals can change with evolving business goals.
Disadvantages of Scrum

■ While a rugby scrum may get rough and bloody, software developers
shouldn’t have to worry about that. Nonetheless, scrum is not for all
developer teams or software development projects. There are
disadvantages to implementing scrum projects:
■ There is a danger of scope creep if stakeholders keep adding
functionality to the backlog. This could be encouraged by the fixed
deadline.
■ Scrum works best with small teams of experienced software
developers. They need to be able to work quickly.
■ Scrum teams do not work well when the scrum master micromanages
their work.
■ Losing any team members can hurt the progress of the project.
Scrum Best Practices
■ Teamwork wins rugby games and helps software developers create
quality products. To get the best quality out of scrum:
■ Define requirements just in time to keep product features as relevant as
possible.
■ Test and incorporate product owner feedback daily.
■ Sprint reviews with stakeholders need to be regular.
■ The scrum team needs to use the sprint retrospectives to improve how
they work.
■ Conduct face-to-face conversations to reduce miscommunications.
■ Trust the teams to do the best job possible.
■ Allow the teams to self-organize around people’s skills, work styles and
personalities.
■ Don’t burn out the team members. Respect the balance between their
personal and professional lives to ease stress.
Role of test engineer in scrum
team
■ The tester should be actively engaged in the team's work during
the Sprint and meetings. It is the tester's role to ensure the quality of the
developed product and the delivery process itself
■ The development team in Scrum is responsible for developing the product by
working closely with the Product Owner. As per the testing quadrants,
the testers are responsible for technology-facing tests that support team &
critique the product and business-facing tests that help the team & critiques
the product.
■ Even though an entire Scrum team has responsibility for testing and code
quality, someone on the team needs to be good at testing, and someone on
the team needs to set up unit and regression test automation, run the end-
to-end integration tests, and do manual exploratory testing on the whole
product
Scrum in Software Testing

■ Scrum in Software Testing is a methodology for building complex


software applications. It provides easy solutions for executing
complicated tasks. Scrum helps the development team to focus on all
aspects of the software product development like quality,
performance, usability and so on. It provides with transparency,
inspection and adaptation during the software development to avoid
complexity.
Scrum Testing

■ Scrum Testing is a testing done in scrum methodology to verify the


software application requirements are met. It involves checking non-
functional parameters like security, usability, performance etc. There
is no active role of tester in the process so it is usually performed by
developers with Unit Test. Sometimes dedicated test teams are
needed depending on nature & complexity of project.
Role of test engineer in scrum
team
■ 1) Attend sprint-planning sessions
■ 2) Attend daily stand-ups.
■ 3) Don’t save all the testing for the end; test throughout the sprint.
■ 4) Meet with developers for short hand-off demonstrations.
■ 5) Attend sprint retrospectives
■ 6) Document Test cases
The Role of a Tester in an
Agile Team
■ Understanding, implementing, and updating the Agile Test Strategy
■ Work with Product Owners to define Acceptance Criteria and the Definition of Done.
■ Measuring and reporting test coverage across all applicable coverage dimensions
■ Ensuring proper use of testing tools
■ Configuring, using, and managing test environments and test data
■ Writing and executing automated checks and reporting back to the team
■ Reporting defects and working with the team to resolve them
■ Coaching other team members in relevant aspects of testing
■ Ensuring the appropriate testing tasks are scheduled during release and iteration planning
■ Actively collaborating with developers and business stakeholders to clarify requirements, especially in terms of testability, consistency, and
completeness
■ Participating proactively in daily standup meetings, story grooming sessions, team retrospectives, suggesting and implementing
improvements
■ Within an Agile team, each team member is responsible for product quality and plays a role in performing test-related tasks.
Agile organizations may encounter some test-related organizational risks:
■ Testers work so closely to developers that they lose the appropriate tester mindset
■ Testers become tolerant of or silent about inefficient, ineffective, or low-quality practices within the team
■ Testers cannot keep pace with the incoming changes in time-constrained iterations
What is the role of a QA tester on a
Scrum team?
What is the role of a QA
tester on a Scrum team?
■ Face – To – Face Communication:
Face to face discussion with the team is the most efficient way to communicate ideas to
the time. A tester participates in Planning/ Release of the Sprint: The design meetings
are held every time before the sprint planning is done. The testers can participate in this
meeting and ask questions on the stories being discussed. The tester should make a
model in his mind about how the system would look and work based on the discussions.
■ Capability to find ambiguity:
The tester would work collaboratively and productively with the product owner and the
customer to form acceptance criteria. An agile tester would be able to describe the
feature well. Before any user story is sent for development the tester and other team
members would discuss the complete user story with the team member to find out what
the customer wants.
■ Absolute Role:
The tester should have good interpersonal skills .Tester should have Technical skills
apart from that he should have good communication skills to deliver the project to the
client . This shows that the tester should have a broader range of functionality.
What is the role of a QA tester
on a Scrum team?
■ Technical Skills:
An agile tester understands the relevance of technical skills. He/She is always prepared
to contribute to the technical discussions of the team. His contribution may extend up
to code reviews, user stories grooming, requirements understanding. The Agile Software
Tester would work with the developers when they are performing unit testing and
share the perspective of testing from a tester point of view instead of developer point.
■ Automation:
Agile testing involves automation at the time of unit testing and integration testing. For
automation There are many tools available for automation which does not require
prior training for language.
■ Exploratory Tester:
The skill of exploratory testing is a very useful and powerful method sometimes in the
agile process. An exploratory tester can utilize his skills to perform testing avoiding risks
and uncertainty in the product. The tester can get ideas from the initial design
discussions and the meetings with the team to uncover the system and explore more in
the system. Once the tester is able to find out the areas of ambiguity the tester can
work more systematically and efficiently in the product. An agile tester should share
their knowledge and information with the rest of the scrum team.
What are the various testing activity
on scrum process

■ sprint meeting : Which Item should be picked from backlogs and


estimated time for developing the component. It should also on the
prioritizing the work.
■ Daily scrum : In daily scrum meeting tester should get the information
about previously done tasks and also do plan for next task to deliver
the developer.
■ Daily work : Tester should perform acceptance test ,system test and
on the unit test and integration test tester should perform Automation
test on the Daily work of the current sprint
In Review and Retrospection
meeting
■ The tester needs to identify what went wrong and what went right in
the current sprint
■ He needs to learn new lessons and best practices from the current
sprint
■ The tester is encouraged to write new user stories that would help in
testing and also user stories that would help the customer
■ The tester will discuss like if any user story was not covered in current
sprint.
■ Any obstructions in the project will be put under consideration of
Scrum Master.

You might also like