SlideShare une entreprise Scribd logo
1  sur  27
1
Agile Methodologies: Scrum
Software Development Methodologies – Lecture 7
2
Agile Methodologies: Brief History
■ First appeared in 1995.
■ The once-common perception that agile methodologies are nothing
but controlled code-&-fix approaches, with little or no sign of a clear-
cut process, is only true of a small – albeit influential – minority.
■ Essentially based on practices of program design, coding and testing
that are believed to enhance software development flexibility and
productivity.
■ Most agile methodologies incorporate explicit processes, although
striving to keep them as lightweight as possible.
Software Development Methodologies – Lecture 7
3
Agile Methodologies: Evolution Map
[Abrahamsson et al. 2003]
Software Development Methodologies – Lecture 7
4
Agile Methodologies: Agile Manifesto
Software Development Methodologies – Lecture 7
5
Agile Methodologies: Principles
■ Our highest priority is to satisfy the customer through early and continuous
delivery of valuable software.
■ Welcome changing requirements, even late in development. Agile
processes harness change for the customer’s competitive advantage.
■ Deliver working software frequently, from a couple of weeks to a couple of
months, with a preference to the shorter timescale.
■ Business people and developers must work together daily throughout the
project.
■ Build projects around motivated individuals. Give them the environment
and support they need, and trust them to get the job done.
■ The most efficient and effective method of conveying information to and
within a development team is face-to-face conversation.
Software Development Methodologies – Lecture 7
6
Agile Methodologies: Principles (Contd.)
■ Working software is the primary measure of progress.
■ Agile processes promote sustainable development. The sponsors,
developers, and users should be able to maintain a constant pace
indefinitely.
■ Continuous attention to technical excellence and good design enhances
agility.
■ Simplicity—the art of maximizing the amount of work not done—is
essential.
■ The best architectures, requirements, and designs emerge from
selforganizing teams.
■ At regular intervals, the team reflects on how to become more effective,
then tunes and adjusts its behaviour accordingly.
Software Development Methodologies – Lecture 7
7
■
Scrum
■ First mentioned as a development method in 1986, referring to a
fast and flexible product development process practiced in Japanese
manufacturing companies.
■ The variant of Scrum used for software development, jointly
developed by Sutherland and Schwaber, was introduced in 1995.
■ The name emphasizes the importance of teamwork in the
methodology and is derived from the game of rugby.
■ Originally intended as a general framework for systems
development, but is currently used as a comprehensive software
development methodology.
Software Development Methodologies – Lecture 7
8
Scrum: Process Framework
1. A people-centric framework based on a set of values, principles,
and practices that provide the foundation to which an organization
can add its unique implementations for realizing the Scrum practices.
2. Scrum Values: Honesty, Openness, Courage, Respect, Focus, Trust,
Empowerment, and Collaboration.
3. Scrum Principles: Manifestations of the Agile Principles.
4. Scrum Practices: Embodied in specific roles, activities, artifacts,
and their associated rules.
5. Introduced herein based on Rubin’s book (2012), and The Scrum
Guide (2020).
Software Development Methodologies – Lecture 7
[Rubin 2012]
9
Scrum Practices
Software Development Methodologies – Lecture 7
10
Scrum Practices: Scrum Team Roles
1. Product Owner: Responsible for what will be developed and in
what order.
2. Scrum Master: Responsible for guiding the team in creating and
following its own process based on the broader Scrum framework.
3. Development Team (Developers): Responsible for determining
how to deliver what the product owner has asked for.
[Rubin 2012]
Software Development Methodologies – Lecture 7
11
Scrum Process: Activities and Artifacts
1. Product owner has a vision of what he wants to create.
□ Through an activity called grooming, the vision is broken down into a set of
features that are collected into a prioritized list called the product backlog.
2. Sprints are performed iteratively; each sprint consists of:
1. Sprint planning: At the beginning of each sprint:
1. The development team selects a subset of the product backlog items
(features) it believes it can commit to completing.
2. A sprint backlog is created; it describes, through a set of detailed tasks,
how the team plans to design/build/integrate/test the selected features.
2. Sprint execution: The development team performs the tasks necessary to
realize the selected features.
1. Each day, the Scrum team (ten members or less) conduct a synchronization,
inspection, an adaptive planning activity known as the daily scrum.
2. At the end of execution, the team has produced a potentially shippable
product increment that represents some of the product owner’s vision.
3. Sprint review: Stakeholders and Scrum team inspect and adapt the product
being built.
4. Sprint retrospective: Scrum team inspects and adapts the Scrum process
being used to create the product.
Software Development Methodologies – Lecture 7
[Rubin 2012]
12
Scrum Process: Activities and Artifacts
Software Development Methodologies – Lecture 7
[Rubin 2012]
13
Product Backlog
The product owner, with input from the rest of
the Scrum team and stakeholders, is responsible
for determining and managing the sequence of
work in the form of the product backlog.
□ Initially, product backlog items are features
required to meet the product owner’s vision.
□ During development, the backlog also
contains new features, changes to existing
features, defects needing repair, and technical
improvements.
The product owner collaborates with internal and
external stakeholders to gather and define the
product backlog items.
□ High-value items appear at the top of the
product backlog and the lower-value items
appear toward the bottom.
1.
2.
Software Development Methodologies – Lecture 7
14
Product Backlog: Grooming
Overall, the activity of creating and refining
product backlog items, estimating them, and
prioritizing them is known as grooming.
Product backlog items are placed in the correct
sequence using factors such as value, cost,
knowledge, and risk.
Prioritization requires estimation of the size of
each product backlog item.
□ Size equates to cost.
□ Scrum does not dictate which size measure to
use.
□ Relative size measures are usually used; such as
story points or ideal days.
■ Instead of the absolute value, the relative
size of an item compared to other items is
considered. [Rubin 2012]
1.
2.
3.
Software Development Methodologies – Lecture 7
15
Sprints
1. In Scrum, work is performed in iterations or cycles of up to a
calendar month called sprints.
2. The work completed in each sprint should create something of
tangible value to the customer or user.
3. Sprints are timeboxed so they always have a fixed start and end
date, and generally they should all be of the same duration.
4. As a rule we do not permit any goal-altering changes in scope or
personnel during a sprint, unless absolutely necessary.
Software Development Methodologies – Lecture 7
16
Sprint Planning
—Tasks = ho>v To do if
Sprint planning
Sprint ba^o^
Sprint planning is
the first part of
e/erg Sprint
[Rubin 2012]
Product backlog
What tc
■Fea+ure A
■Feature 5
1. To determine the most important subset of product backlog items to
build in the next sprint, the Scrum team performs sprint planning.
2. During sprint planning, the product owner and development team
agree on a sprint goal for the upcoming sprint.
□ Using this goal, the development team determines the high-priority
product backlog items for the upcoming sprint.
Software Development Methodologies – Lecture 7
17
■
Sprint Planning: Sprint Backlog
1. The development team breaks down each targeted feature into a set
of tasks.
The collection of these tasks, along with their associated product
backlog items, forms a second backlog called the sprint backlog.
2. The development team then provides an estimate (typically in hours)
of the effort required to complete each task.
3. There are several approaches that can be used for sprint planning.
The preferred approach is as follows:
1. Select a product backlog item;
2. break the item down into tasks, and determine if the selected
item will reasonably fit within the sprint;
3. If it does fit and there is more capacity to complete work, repeat
the cycle until the team is out of capacity to do any more work.
Software Development Methodologies – Lecture 7
[Rubin 2012]
18
Sprint Planning: Sprint Backlog
Software Development Methodologies – Lecture 7
19
Sprint Execution
1. The development team, guided by the Scrum Master’s coaching,
performs all the task-level work necessary to get the features done. □
“Done” means there is a high degree of confidence that all of the work
necessary for producing good-quality features has been completed.
2. Exactly what tasks the team performs depends on the nature of the
work.
□ For example, are we building software and what type of software, or
are we building hardware, or is this marketing work?
3. Nobody tells the development team in what order or how to do the
task-level work in the sprint backlog.
□ Team members define their own task-level work and then self-organize
in any manner they feel is best for achieving the sprint goal.
Software Development Methodologies – Lecture 7
20
Sprint Execution: Daily Scrum
1. Each day of the sprint, ideally at the same time, the development
team members hold a timeboxed (15 minutes or less) daily scrum.
2. The Scrum Master facilitates the meeting and each team member
answers three questions for the benefit of the other team members:
1. What did I accomplish since the last daily scrum?
2. What do I plan to work on by the next daily scrum?
3. What are the obstacles that are preventing me from making progress?
3. By answering these questions, everyone understands:
1. The big picture of what is occurring;
2. How they are progressing toward the sprint goal;
3. Any modifications they want to make to their plans for the upcoming
day’s work; and
4. What issues need to be addressed.
Software Development Methodologies – Lecture 7
21
Sprint Execution: Rules of Daily Scrum
The daily scrum is an inspection, synchronization, and adaptive daily
planning activity that helps a self-organizing team do its job better.
The daily scrum is not a problem-solving activity.
□ Rather, many teams decide to talk about problems after the daily scrum
and do so with a small group of interested people.
3. The daily scrum is not a traditional status meeting.
4. At the daily scrum, only the pigs should talk; the chickens, if any,
should attend as observers.
1.
2.
Software Development Methodologies – Lecture 7
22
Sprint Execution: Potentially Shippable Product Increment
1. In Scrum, we refer to the sprint results as a potentially shippable
product increment.
2. Whatever the Scrum team agreed to do should be really done
according to its agreed-upon definition of done.
3. “Potentially shippable” does not mean that what got built must
actually be shipped.
□ Shipping is a business decision, frequently influenced by things such as:
■ “Do we have enough features to justify a deployment?” or
■ “Can our customers absorb another change given that the last release was
made just two weeks ago?”
4. Potentially shippable is better thought of as a state of confidence
that there is no materially important work left undone.
Software Development Methodologies – Lecture 7
23
Sprint Review
1. The goal is to inspect and adapt the product that is being built.
2. Participants include the Scrum team, stakeholders, sponsors,
customers, and interested members of other teams.
3. Conversation is focused on reviewing the just-completed features in
the context of the overall development effort.
4. Everyone in attendance gets clear visibility into what is occurring and
has an opportunity to help guide the forthcoming development.
5. Bidirectional information flow:
□ The people who are not on the Scrum team get to sync up on the
development effort and help guide its direction.
□ Scrum team members gain a deeper appreciation for the business and
marketing side of their product.
Software Development Methodologies – Lecture 7
24
Sprint Retrospective
1. An opportunity to inspect and adapt the Scrum process.
2. The development team, Scrum Master, and product owner
meet to discuss what is and is not working with their Scrum
process and its associated practices.
3. The focus is on continuous process improvement.
□ The Scrum team identifies and commits to a practical number of process
improvement actions, to be undertaken by the team in the next sprint.
Software Development Methodologies – Lecture 7
25
Scrum: Strengths and Weaknesses
■ Strengths
□ Iterative-incremental process
□ Requirements are allowed to evolve over time.
□ Traceability to requirements through the Product Backlog
□ Iterative development engine governed by careful
planning and reviewing
□ Active user involvement
□ Simple and straightforward process
□ Early and frequent releases, demonstrating functionality
at the end of each iteration (sprint) of the development
cycle
Software Development Methodologies – Lecture 7
26
Scrum: Strengths and Weaknesses
■ Weaknesses
□ Lack of scalability
□ Based on the assumption that human communication is
sufficient for running projects of any size and keeping
them focused
□ Not necessarily seamless
□ No clear-cut design effort
□ Model-phobic
□ Lack of formalism
Software Development Methodologies – Lecture 7
27
References
■ Schwaber, K., Beedle, M., Agile Software Development with
Scrum. Prentice-Hall, 2001.
■ Abrahamsson, P., Salo, O., Ronkainen, J., Warsta, J., Agile
Software Development Methods: Review and Analysis. VTT
Publications, 2002.
■ Rubin, K.S., Essential Scrum: A Practical Guide to the Most
Popular Agile Process, Addison-Wesley, 2012.
■ Schwaber, K., Sutherland, J., The Scrum Guide, Published
online at: http://www.scrumguides.org/, November 2020
(last visited on: 27 December 2020).

Contenu connexe

Similaire à Scrum Presentation by Amir Rabinkhah.pptx

SE18_Lec 05_Agile Software Development
SE18_Lec 05_Agile Software DevelopmentSE18_Lec 05_Agile Software Development
SE18_Lec 05_Agile Software DevelopmentAmr E. Mohamed
 
Agile Methodologies by TechDesti
Agile Methodologies by TechDestiAgile Methodologies by TechDesti
Agile Methodologies by TechDestiTechDesti
 
software engineering agile development notes.pptx
software engineering agile development notes.pptxsoftware engineering agile development notes.pptx
software engineering agile development notes.pptxAbhinay93499
 
Agile Unified Process (AUP).pptx
Agile Unified Process (AUP).pptxAgile Unified Process (AUP).pptx
Agile Unified Process (AUP).pptxKarim Monir
 
SE_Lec 04_Agile Software Development
SE_Lec 04_Agile Software DevelopmentSE_Lec 04_Agile Software Development
SE_Lec 04_Agile Software DevelopmentAmr E. Mohamed
 
Scrum process framework
Scrum process frameworkScrum process framework
Scrum process frameworkIheb OMRI
 
agile_and_scrum_cheat_sheet_December_2021.pdf
agile_and_scrum_cheat_sheet_December_2021.pdfagile_and_scrum_cheat_sheet_December_2021.pdf
agile_and_scrum_cheat_sheet_December_2021.pdfRichard Douglas
 
Agile Project Management – SCRUM Methodology
Agile Project Management – SCRUM MethodologyAgile Project Management – SCRUM Methodology
Agile Project Management – SCRUM MethodologyMarios Evripidou
 
Introduction to agile and scrum
Introduction to agile and scrumIntroduction to agile and scrum
Introduction to agile and scrumInova LLC
 
Mod 6 - Agile Scrum in a nutshell.pdf
Mod 6 - Agile Scrum in a nutshell.pdfMod 6 - Agile Scrum in a nutshell.pdf
Mod 6 - Agile Scrum in a nutshell.pdfLuongMinhHai
 
Agile software development compfest 13
Agile software development compfest 13Agile software development compfest 13
Agile software development compfest 13Panji Gautama
 
Flavours of agile software engineering
Flavours of agile software engineeringFlavours of agile software engineering
Flavours of agile software engineeringZeeshan Masood S
 
Flavours of agile software engineering
Flavours of agile software engineeringFlavours of agile software engineering
Flavours of agile software engineeringZeeshan Masood S
 
PMI-ACP: Domain I - Agile Principles and Mindset_v1.0
PMI-ACP: Domain I - Agile Principles and Mindset_v1.0PMI-ACP: Domain I - Agile Principles and Mindset_v1.0
PMI-ACP: Domain I - Agile Principles and Mindset_v1.0PhuocNT (Fresher.VN)
 

Similaire à Scrum Presentation by Amir Rabinkhah.pptx (20)

SE18_Lec 05_Agile Software Development
SE18_Lec 05_Agile Software DevelopmentSE18_Lec 05_Agile Software Development
SE18_Lec 05_Agile Software Development
 
What is Scrum?
What is Scrum?What is Scrum?
What is Scrum?
 
Agile Overview
Agile OverviewAgile Overview
Agile Overview
 
Agile Methodologies by TechDesti
Agile Methodologies by TechDestiAgile Methodologies by TechDesti
Agile Methodologies by TechDesti
 
software engineering agile development notes.pptx
software engineering agile development notes.pptxsoftware engineering agile development notes.pptx
software engineering agile development notes.pptx
 
Agile Unified Process (AUP).pptx
Agile Unified Process (AUP).pptxAgile Unified Process (AUP).pptx
Agile Unified Process (AUP).pptx
 
SE_Lec 04_Agile Software Development
SE_Lec 04_Agile Software DevelopmentSE_Lec 04_Agile Software Development
SE_Lec 04_Agile Software Development
 
professional scrum master
professional scrum master professional scrum master
professional scrum master
 
Scrum process framework
Scrum process frameworkScrum process framework
Scrum process framework
 
agile_and_scrum_cheat_sheet_December_2021.pdf
agile_and_scrum_cheat_sheet_December_2021.pdfagile_and_scrum_cheat_sheet_December_2021.pdf
agile_and_scrum_cheat_sheet_December_2021.pdf
 
Agile Project Management – SCRUM Methodology
Agile Project Management – SCRUM MethodologyAgile Project Management – SCRUM Methodology
Agile Project Management – SCRUM Methodology
 
Introduction to agile and scrum
Introduction to agile and scrumIntroduction to agile and scrum
Introduction to agile and scrum
 
Mod 6 - Agile Scrum in a nutshell.pdf
Mod 6 - Agile Scrum in a nutshell.pdfMod 6 - Agile Scrum in a nutshell.pdf
Mod 6 - Agile Scrum in a nutshell.pdf
 
Agile software development compfest 13
Agile software development compfest 13Agile software development compfest 13
Agile software development compfest 13
 
Agile+Slides.pdf
Agile+Slides.pdfAgile+Slides.pdf
Agile+Slides.pdf
 
Fundamental of Scrum
Fundamental of ScrumFundamental of Scrum
Fundamental of Scrum
 
Flavours of agile software engineering
Flavours of agile software engineeringFlavours of agile software engineering
Flavours of agile software engineering
 
Flavours of agile software engineering
Flavours of agile software engineeringFlavours of agile software engineering
Flavours of agile software engineering
 
Agile Methodology
Agile MethodologyAgile Methodology
Agile Methodology
 
PMI-ACP: Domain I - Agile Principles and Mindset_v1.0
PMI-ACP: Domain I - Agile Principles and Mindset_v1.0PMI-ACP: Domain I - Agile Principles and Mindset_v1.0
PMI-ACP: Domain I - Agile Principles and Mindset_v1.0
 

Dernier

Weeding your micro service landscape.pdf
Weeding your micro service landscape.pdfWeeding your micro service landscape.pdf
Weeding your micro service landscape.pdftimtebeek1
 
Abortion Pills For Sale WhatsApp[[+27737758557]] In Birch Acres, Abortion Pil...
Abortion Pills For Sale WhatsApp[[+27737758557]] In Birch Acres, Abortion Pil...Abortion Pills For Sale WhatsApp[[+27737758557]] In Birch Acres, Abortion Pil...
Abortion Pills For Sale WhatsApp[[+27737758557]] In Birch Acres, Abortion Pil...drm1699
 
Wired_2.0_CREATE YOUR ULTIMATE LEARNING ENVIRONMENT_JCON_16052024
Wired_2.0_CREATE YOUR ULTIMATE LEARNING ENVIRONMENT_JCON_16052024Wired_2.0_CREATE YOUR ULTIMATE LEARNING ENVIRONMENT_JCON_16052024
Wired_2.0_CREATE YOUR ULTIMATE LEARNING ENVIRONMENT_JCON_16052024SimonedeGijt
 
A Deep Dive into Secure Product Development Frameworks.pdf
A Deep Dive into Secure Product Development Frameworks.pdfA Deep Dive into Secure Product Development Frameworks.pdf
A Deep Dive into Secure Product Development Frameworks.pdfICS
 
Team Transformation Tactics for Holistic Testing and Quality (NewCrafts Paris...
Team Transformation Tactics for Holistic Testing and Quality (NewCrafts Paris...Team Transformation Tactics for Holistic Testing and Quality (NewCrafts Paris...
Team Transformation Tactics for Holistic Testing and Quality (NewCrafts Paris...Lisi Hocke
 
Workshop: Enabling GenAI Breakthroughs with Knowledge Graphs - GraphSummit Milan
Workshop: Enabling GenAI Breakthroughs with Knowledge Graphs - GraphSummit MilanWorkshop: Enabling GenAI Breakthroughs with Knowledge Graphs - GraphSummit Milan
Workshop: Enabling GenAI Breakthroughs with Knowledge Graphs - GraphSummit MilanNeo4j
 
Encryption Recap: A Refresher on Key Concepts
Encryption Recap: A Refresher on Key ConceptsEncryption Recap: A Refresher on Key Concepts
Encryption Recap: A Refresher on Key Conceptsthomashtkim
 
Evolving Data Governance for the Real-time Streaming and AI Era
Evolving Data Governance for the Real-time Streaming and AI EraEvolving Data Governance for the Real-time Streaming and AI Era
Evolving Data Governance for the Real-time Streaming and AI Eraconfluent
 
Prompt Engineering - an Art, a Science, or your next Job Title?
Prompt Engineering - an Art, a Science, or your next Job Title?Prompt Engineering - an Art, a Science, or your next Job Title?
Prompt Engineering - an Art, a Science, or your next Job Title?Maxim Salnikov
 
Automate your OpenSIPS config tests - OpenSIPS Summit 2024
Automate your OpenSIPS config tests - OpenSIPS Summit 2024Automate your OpenSIPS config tests - OpenSIPS Summit 2024
Automate your OpenSIPS config tests - OpenSIPS Summit 2024Andreas Granig
 
Effective Strategies for Wix's Scaling challenges - GeeCon
Effective Strategies for Wix's Scaling challenges - GeeConEffective Strategies for Wix's Scaling challenges - GeeCon
Effective Strategies for Wix's Scaling challenges - GeeConNatan Silnitsky
 
UNI DI NAPOLI FEDERICO II - Il ruolo dei grafi nell'AI Conversazionale Ibrida
UNI DI NAPOLI FEDERICO II - Il ruolo dei grafi nell'AI Conversazionale IbridaUNI DI NAPOLI FEDERICO II - Il ruolo dei grafi nell'AI Conversazionale Ibrida
UNI DI NAPOLI FEDERICO II - Il ruolo dei grafi nell'AI Conversazionale IbridaNeo4j
 
Test Automation Design Patterns_ A Comprehensive Guide.pdf
Test Automation Design Patterns_ A Comprehensive Guide.pdfTest Automation Design Patterns_ A Comprehensive Guide.pdf
Test Automation Design Patterns_ A Comprehensive Guide.pdfkalichargn70th171
 
Lessons Learned from Building a Serverless Notifications System.pdf
Lessons Learned from Building a Serverless Notifications System.pdfLessons Learned from Building a Serverless Notifications System.pdf
Lessons Learned from Building a Serverless Notifications System.pdfSrushith Repakula
 
[GRCPP] Introduction to concepts (C++20)
[GRCPP] Introduction to concepts (C++20)[GRCPP] Introduction to concepts (C++20)
[GRCPP] Introduction to concepts (C++20)Dimitrios Platis
 
BusinessGPT - Security and Governance for Generative AI
BusinessGPT  - Security and Governance for Generative AIBusinessGPT  - Security and Governance for Generative AI
BusinessGPT - Security and Governance for Generative AIAGATSoftware
 
OpenChain Webinar: AboutCode and Beyond - End-to-End SCA
OpenChain Webinar: AboutCode and Beyond - End-to-End SCAOpenChain Webinar: AboutCode and Beyond - End-to-End SCA
OpenChain Webinar: AboutCode and Beyond - End-to-End SCAShane Coughlan
 

Dernier (20)

Weeding your micro service landscape.pdf
Weeding your micro service landscape.pdfWeeding your micro service landscape.pdf
Weeding your micro service landscape.pdf
 
Abortion Pills For Sale WhatsApp[[+27737758557]] In Birch Acres, Abortion Pil...
Abortion Pills For Sale WhatsApp[[+27737758557]] In Birch Acres, Abortion Pil...Abortion Pills For Sale WhatsApp[[+27737758557]] In Birch Acres, Abortion Pil...
Abortion Pills For Sale WhatsApp[[+27737758557]] In Birch Acres, Abortion Pil...
 
Wired_2.0_CREATE YOUR ULTIMATE LEARNING ENVIRONMENT_JCON_16052024
Wired_2.0_CREATE YOUR ULTIMATE LEARNING ENVIRONMENT_JCON_16052024Wired_2.0_CREATE YOUR ULTIMATE LEARNING ENVIRONMENT_JCON_16052024
Wired_2.0_CREATE YOUR ULTIMATE LEARNING ENVIRONMENT_JCON_16052024
 
A Deep Dive into Secure Product Development Frameworks.pdf
A Deep Dive into Secure Product Development Frameworks.pdfA Deep Dive into Secure Product Development Frameworks.pdf
A Deep Dive into Secure Product Development Frameworks.pdf
 
Team Transformation Tactics for Holistic Testing and Quality (NewCrafts Paris...
Team Transformation Tactics for Holistic Testing and Quality (NewCrafts Paris...Team Transformation Tactics for Holistic Testing and Quality (NewCrafts Paris...
Team Transformation Tactics for Holistic Testing and Quality (NewCrafts Paris...
 
Workshop: Enabling GenAI Breakthroughs with Knowledge Graphs - GraphSummit Milan
Workshop: Enabling GenAI Breakthroughs with Knowledge Graphs - GraphSummit MilanWorkshop: Enabling GenAI Breakthroughs with Knowledge Graphs - GraphSummit Milan
Workshop: Enabling GenAI Breakthroughs with Knowledge Graphs - GraphSummit Milan
 
Encryption Recap: A Refresher on Key Concepts
Encryption Recap: A Refresher on Key ConceptsEncryption Recap: A Refresher on Key Concepts
Encryption Recap: A Refresher on Key Concepts
 
Evolving Data Governance for the Real-time Streaming and AI Era
Evolving Data Governance for the Real-time Streaming and AI EraEvolving Data Governance for the Real-time Streaming and AI Era
Evolving Data Governance for the Real-time Streaming and AI Era
 
Prompt Engineering - an Art, a Science, or your next Job Title?
Prompt Engineering - an Art, a Science, or your next Job Title?Prompt Engineering - an Art, a Science, or your next Job Title?
Prompt Engineering - an Art, a Science, or your next Job Title?
 
Abortion Pill Prices Rustenburg [(+27832195400*)] 🏥 Women's Abortion Clinic i...
Abortion Pill Prices Rustenburg [(+27832195400*)] 🏥 Women's Abortion Clinic i...Abortion Pill Prices Rustenburg [(+27832195400*)] 🏥 Women's Abortion Clinic i...
Abortion Pill Prices Rustenburg [(+27832195400*)] 🏥 Women's Abortion Clinic i...
 
Abortion Pill Prices Aliwal North ](+27832195400*)[ 🏥 Women's Abortion Clinic...
Abortion Pill Prices Aliwal North ](+27832195400*)[ 🏥 Women's Abortion Clinic...Abortion Pill Prices Aliwal North ](+27832195400*)[ 🏥 Women's Abortion Clinic...
Abortion Pill Prices Aliwal North ](+27832195400*)[ 🏥 Women's Abortion Clinic...
 
Automate your OpenSIPS config tests - OpenSIPS Summit 2024
Automate your OpenSIPS config tests - OpenSIPS Summit 2024Automate your OpenSIPS config tests - OpenSIPS Summit 2024
Automate your OpenSIPS config tests - OpenSIPS Summit 2024
 
Effective Strategies for Wix's Scaling challenges - GeeCon
Effective Strategies for Wix's Scaling challenges - GeeConEffective Strategies for Wix's Scaling challenges - GeeCon
Effective Strategies for Wix's Scaling challenges - GeeCon
 
Abortion Pill Prices Germiston ](+27832195400*)[ 🏥 Women's Abortion Clinic in...
Abortion Pill Prices Germiston ](+27832195400*)[ 🏥 Women's Abortion Clinic in...Abortion Pill Prices Germiston ](+27832195400*)[ 🏥 Women's Abortion Clinic in...
Abortion Pill Prices Germiston ](+27832195400*)[ 🏥 Women's Abortion Clinic in...
 
UNI DI NAPOLI FEDERICO II - Il ruolo dei grafi nell'AI Conversazionale Ibrida
UNI DI NAPOLI FEDERICO II - Il ruolo dei grafi nell'AI Conversazionale IbridaUNI DI NAPOLI FEDERICO II - Il ruolo dei grafi nell'AI Conversazionale Ibrida
UNI DI NAPOLI FEDERICO II - Il ruolo dei grafi nell'AI Conversazionale Ibrida
 
Test Automation Design Patterns_ A Comprehensive Guide.pdf
Test Automation Design Patterns_ A Comprehensive Guide.pdfTest Automation Design Patterns_ A Comprehensive Guide.pdf
Test Automation Design Patterns_ A Comprehensive Guide.pdf
 
Lessons Learned from Building a Serverless Notifications System.pdf
Lessons Learned from Building a Serverless Notifications System.pdfLessons Learned from Building a Serverless Notifications System.pdf
Lessons Learned from Building a Serverless Notifications System.pdf
 
[GRCPP] Introduction to concepts (C++20)
[GRCPP] Introduction to concepts (C++20)[GRCPP] Introduction to concepts (C++20)
[GRCPP] Introduction to concepts (C++20)
 
BusinessGPT - Security and Governance for Generative AI
BusinessGPT  - Security and Governance for Generative AIBusinessGPT  - Security and Governance for Generative AI
BusinessGPT - Security and Governance for Generative AI
 
OpenChain Webinar: AboutCode and Beyond - End-to-End SCA
OpenChain Webinar: AboutCode and Beyond - End-to-End SCAOpenChain Webinar: AboutCode and Beyond - End-to-End SCA
OpenChain Webinar: AboutCode and Beyond - End-to-End SCA
 

Scrum Presentation by Amir Rabinkhah.pptx

  • 2. Software Development Methodologies – Lecture 7 2 Agile Methodologies: Brief History ■ First appeared in 1995. ■ The once-common perception that agile methodologies are nothing but controlled code-&-fix approaches, with little or no sign of a clear- cut process, is only true of a small – albeit influential – minority. ■ Essentially based on practices of program design, coding and testing that are believed to enhance software development flexibility and productivity. ■ Most agile methodologies incorporate explicit processes, although striving to keep them as lightweight as possible.
  • 3. Software Development Methodologies – Lecture 7 3 Agile Methodologies: Evolution Map [Abrahamsson et al. 2003]
  • 4. Software Development Methodologies – Lecture 7 4 Agile Methodologies: Agile Manifesto
  • 5. Software Development Methodologies – Lecture 7 5 Agile Methodologies: Principles ■ Our highest priority is to satisfy the customer through early and continuous delivery of valuable software. ■ Welcome changing requirements, even late in development. Agile processes harness change for the customer’s competitive advantage. ■ Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale. ■ Business people and developers must work together daily throughout the project. ■ Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done. ■ The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.
  • 6. Software Development Methodologies – Lecture 7 6 Agile Methodologies: Principles (Contd.) ■ Working software is the primary measure of progress. ■ Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely. ■ Continuous attention to technical excellence and good design enhances agility. ■ Simplicity—the art of maximizing the amount of work not done—is essential. ■ The best architectures, requirements, and designs emerge from selforganizing teams. ■ At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behaviour accordingly.
  • 7. Software Development Methodologies – Lecture 7 7 ■ Scrum ■ First mentioned as a development method in 1986, referring to a fast and flexible product development process practiced in Japanese manufacturing companies. ■ The variant of Scrum used for software development, jointly developed by Sutherland and Schwaber, was introduced in 1995. ■ The name emphasizes the importance of teamwork in the methodology and is derived from the game of rugby. ■ Originally intended as a general framework for systems development, but is currently used as a comprehensive software development methodology.
  • 8. Software Development Methodologies – Lecture 7 8 Scrum: Process Framework 1. A people-centric framework based on a set of values, principles, and practices that provide the foundation to which an organization can add its unique implementations for realizing the Scrum practices. 2. Scrum Values: Honesty, Openness, Courage, Respect, Focus, Trust, Empowerment, and Collaboration. 3. Scrum Principles: Manifestations of the Agile Principles. 4. Scrum Practices: Embodied in specific roles, activities, artifacts, and their associated rules. 5. Introduced herein based on Rubin’s book (2012), and The Scrum Guide (2020).
  • 9. Software Development Methodologies – Lecture 7 [Rubin 2012] 9 Scrum Practices
  • 10. Software Development Methodologies – Lecture 7 10 Scrum Practices: Scrum Team Roles 1. Product Owner: Responsible for what will be developed and in what order. 2. Scrum Master: Responsible for guiding the team in creating and following its own process based on the broader Scrum framework. 3. Development Team (Developers): Responsible for determining how to deliver what the product owner has asked for. [Rubin 2012]
  • 11. Software Development Methodologies – Lecture 7 11 Scrum Process: Activities and Artifacts 1. Product owner has a vision of what he wants to create. □ Through an activity called grooming, the vision is broken down into a set of features that are collected into a prioritized list called the product backlog. 2. Sprints are performed iteratively; each sprint consists of: 1. Sprint planning: At the beginning of each sprint: 1. The development team selects a subset of the product backlog items (features) it believes it can commit to completing. 2. A sprint backlog is created; it describes, through a set of detailed tasks, how the team plans to design/build/integrate/test the selected features. 2. Sprint execution: The development team performs the tasks necessary to realize the selected features. 1. Each day, the Scrum team (ten members or less) conduct a synchronization, inspection, an adaptive planning activity known as the daily scrum. 2. At the end of execution, the team has produced a potentially shippable product increment that represents some of the product owner’s vision. 3. Sprint review: Stakeholders and Scrum team inspect and adapt the product being built. 4. Sprint retrospective: Scrum team inspects and adapts the Scrum process being used to create the product.
  • 12. Software Development Methodologies – Lecture 7 [Rubin 2012] 12 Scrum Process: Activities and Artifacts
  • 13. Software Development Methodologies – Lecture 7 [Rubin 2012] 13 Product Backlog The product owner, with input from the rest of the Scrum team and stakeholders, is responsible for determining and managing the sequence of work in the form of the product backlog. □ Initially, product backlog items are features required to meet the product owner’s vision. □ During development, the backlog also contains new features, changes to existing features, defects needing repair, and technical improvements. The product owner collaborates with internal and external stakeholders to gather and define the product backlog items. □ High-value items appear at the top of the product backlog and the lower-value items appear toward the bottom. 1. 2.
  • 14. Software Development Methodologies – Lecture 7 14 Product Backlog: Grooming Overall, the activity of creating and refining product backlog items, estimating them, and prioritizing them is known as grooming. Product backlog items are placed in the correct sequence using factors such as value, cost, knowledge, and risk. Prioritization requires estimation of the size of each product backlog item. □ Size equates to cost. □ Scrum does not dictate which size measure to use. □ Relative size measures are usually used; such as story points or ideal days. ■ Instead of the absolute value, the relative size of an item compared to other items is considered. [Rubin 2012] 1. 2. 3.
  • 15. Software Development Methodologies – Lecture 7 15 Sprints 1. In Scrum, work is performed in iterations or cycles of up to a calendar month called sprints. 2. The work completed in each sprint should create something of tangible value to the customer or user. 3. Sprints are timeboxed so they always have a fixed start and end date, and generally they should all be of the same duration. 4. As a rule we do not permit any goal-altering changes in scope or personnel during a sprint, unless absolutely necessary.
  • 16. Software Development Methodologies – Lecture 7 16 Sprint Planning —Tasks = ho>v To do if Sprint planning Sprint ba^o^ Sprint planning is the first part of e/erg Sprint [Rubin 2012] Product backlog What tc ■Fea+ure A ■Feature 5 1. To determine the most important subset of product backlog items to build in the next sprint, the Scrum team performs sprint planning. 2. During sprint planning, the product owner and development team agree on a sprint goal for the upcoming sprint. □ Using this goal, the development team determines the high-priority product backlog items for the upcoming sprint.
  • 17. Software Development Methodologies – Lecture 7 17 ■ Sprint Planning: Sprint Backlog 1. The development team breaks down each targeted feature into a set of tasks. The collection of these tasks, along with their associated product backlog items, forms a second backlog called the sprint backlog. 2. The development team then provides an estimate (typically in hours) of the effort required to complete each task. 3. There are several approaches that can be used for sprint planning. The preferred approach is as follows: 1. Select a product backlog item; 2. break the item down into tasks, and determine if the selected item will reasonably fit within the sprint; 3. If it does fit and there is more capacity to complete work, repeat the cycle until the team is out of capacity to do any more work.
  • 18. Software Development Methodologies – Lecture 7 [Rubin 2012] 18 Sprint Planning: Sprint Backlog
  • 19. Software Development Methodologies – Lecture 7 19 Sprint Execution 1. The development team, guided by the Scrum Master’s coaching, performs all the task-level work necessary to get the features done. □ “Done” means there is a high degree of confidence that all of the work necessary for producing good-quality features has been completed. 2. Exactly what tasks the team performs depends on the nature of the work. □ For example, are we building software and what type of software, or are we building hardware, or is this marketing work? 3. Nobody tells the development team in what order or how to do the task-level work in the sprint backlog. □ Team members define their own task-level work and then self-organize in any manner they feel is best for achieving the sprint goal.
  • 20. Software Development Methodologies – Lecture 7 20 Sprint Execution: Daily Scrum 1. Each day of the sprint, ideally at the same time, the development team members hold a timeboxed (15 minutes or less) daily scrum. 2. The Scrum Master facilitates the meeting and each team member answers three questions for the benefit of the other team members: 1. What did I accomplish since the last daily scrum? 2. What do I plan to work on by the next daily scrum? 3. What are the obstacles that are preventing me from making progress? 3. By answering these questions, everyone understands: 1. The big picture of what is occurring; 2. How they are progressing toward the sprint goal; 3. Any modifications they want to make to their plans for the upcoming day’s work; and 4. What issues need to be addressed.
  • 21. Software Development Methodologies – Lecture 7 21 Sprint Execution: Rules of Daily Scrum The daily scrum is an inspection, synchronization, and adaptive daily planning activity that helps a self-organizing team do its job better. The daily scrum is not a problem-solving activity. □ Rather, many teams decide to talk about problems after the daily scrum and do so with a small group of interested people. 3. The daily scrum is not a traditional status meeting. 4. At the daily scrum, only the pigs should talk; the chickens, if any, should attend as observers. 1. 2.
  • 22. Software Development Methodologies – Lecture 7 22 Sprint Execution: Potentially Shippable Product Increment 1. In Scrum, we refer to the sprint results as a potentially shippable product increment. 2. Whatever the Scrum team agreed to do should be really done according to its agreed-upon definition of done. 3. “Potentially shippable” does not mean that what got built must actually be shipped. □ Shipping is a business decision, frequently influenced by things such as: ■ “Do we have enough features to justify a deployment?” or ■ “Can our customers absorb another change given that the last release was made just two weeks ago?” 4. Potentially shippable is better thought of as a state of confidence that there is no materially important work left undone.
  • 23. Software Development Methodologies – Lecture 7 23 Sprint Review 1. The goal is to inspect and adapt the product that is being built. 2. Participants include the Scrum team, stakeholders, sponsors, customers, and interested members of other teams. 3. Conversation is focused on reviewing the just-completed features in the context of the overall development effort. 4. Everyone in attendance gets clear visibility into what is occurring and has an opportunity to help guide the forthcoming development. 5. Bidirectional information flow: □ The people who are not on the Scrum team get to sync up on the development effort and help guide its direction. □ Scrum team members gain a deeper appreciation for the business and marketing side of their product.
  • 24. Software Development Methodologies – Lecture 7 24 Sprint Retrospective 1. An opportunity to inspect and adapt the Scrum process. 2. The development team, Scrum Master, and product owner meet to discuss what is and is not working with their Scrum process and its associated practices. 3. The focus is on continuous process improvement. □ The Scrum team identifies and commits to a practical number of process improvement actions, to be undertaken by the team in the next sprint.
  • 25. Software Development Methodologies – Lecture 7 25 Scrum: Strengths and Weaknesses ■ Strengths □ Iterative-incremental process □ Requirements are allowed to evolve over time. □ Traceability to requirements through the Product Backlog □ Iterative development engine governed by careful planning and reviewing □ Active user involvement □ Simple and straightforward process □ Early and frequent releases, demonstrating functionality at the end of each iteration (sprint) of the development cycle
  • 26. Software Development Methodologies – Lecture 7 26 Scrum: Strengths and Weaknesses ■ Weaknesses □ Lack of scalability □ Based on the assumption that human communication is sufficient for running projects of any size and keeping them focused □ Not necessarily seamless □ No clear-cut design effort □ Model-phobic □ Lack of formalism
  • 27. Software Development Methodologies – Lecture 7 27 References ■ Schwaber, K., Beedle, M., Agile Software Development with Scrum. Prentice-Hall, 2001. ■ Abrahamsson, P., Salo, O., Ronkainen, J., Warsta, J., Agile Software Development Methods: Review and Analysis. VTT Publications, 2002. ■ Rubin, K.S., Essential Scrum: A Practical Guide to the Most Popular Agile Process, Addison-Wesley, 2012. ■ Schwaber, K., Sutherland, J., The Scrum Guide, Published online at: http://www.scrumguides.org/, November 2020 (last visited on: 27 December 2020).