Agile and Scrum Methodology
Agile and Scrum Methodology
What is agile?
■ 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
■ 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.
■ 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
■ 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.
■ 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