SlideShare a Scribd company logo
1 of 31
INTRODUCTION TO AGILE
SOFTWARE DEVELOPMENT
Ahmed Aboul-Kheir
WHAT IS AGILE SOFTWARE DEVELOPMENT?
In the late 1990’s several methodologies began to get increasing public
attention.
Each had a different combination of old ideas, new ideas, and transmuted
old ideas but they all emphasized:
• close collaboration between the programmer team and business
experts
• face-to-face communication (as more efficient than written
documentation)
• frequent delivery of new deployable business value
• tight, self-organizing teams
• ways to craft the code and the team such that the inevitable
requirements churn was not a crisis.
THE AGILE MANIFESTO
The Agile Manifesto was written in February of 2001, at a summit of
seventeen independent-minded practitioners of several programming
methodologies.
The participants didn't agree about much, but they found consensus
around four main values.
Supplementing the Manifesto, the Twelve Principles further explicate what
it is to be Agile.
THE TWELVE PRINCIPLES OF AGILE SOFTWARE
1. Our highest priority is to satisfy the customer through early and
continuous delivery of valuable software.
2. Welcome changing requirements, even late in development. Agile
processes harness change for the customer's competitive advantage.
3. Deliver working software frequently, from a couple of weeks to a couple
of months, with a preference to the shorter timescale.
4. Business people and developers must work together daily throughout the
project.
5. Build projects around motivated individuals. Give them the environment
and support they need, and trust them to get the job done.
6. The most efficient and effective method of conveying information to and
within a development team is face-to-face conversation.
THE TWELVE PRINCIPLES OF AGILE SOFTWARE (CONT’D)
7. Working software is the primary measure of progress.
8. Agile processes promote sustainable development. The sponsors,
developers, and users should be able to maintain a constant pace
indefinitely.
9. Continuous attention to technical excellence and good design
enhances agility.
10. Simplicity--the art of maximizing the amount of work not done--is
essential.
11. The best architectures, requirements, and designs emerge from self-
organizing teams.
12. At regular intervals, the team reflects on how to become more
effective, then tunes and adjusts its behavior accordingly.
WHAT IS AGILE?
Agile is a mindset
[that in the software world is]
• Established through 4 values
• Grounded by 12 principles
• Manifested through many many different practices
 Doing Agile
Learning the practices and applying them
without know the mindset and principles
to know when to tailor and how to select
the appropriate practices
 Being Agile
Internalizing the Mindset, values, and
principles then applying the right
practices and tailoring them to different
situations as they arise
WHAT IS SHU – HA – RI?
ShuHaRiDojo is a Japanese Martial Arts form. Shu Ha Ri are three kanji
which describe the cycle of training, or perhaps more properly the cycle of
progress of a student.
SHU: Follow the rule
HA: Break the rule
RI: Be the rule
AGILE METHODOLOGIES
The various agile methodologies share much of the same philosophy,
characteristics and practices.
But from an implementation standpoint, each has its own recipe of
practices, terminology, and tactics.
• Scrum
• Extreme Programming (XP)
• Lean Software Development
• Kanban Software Development
• Crystal
• Dynamic Systems Development Method (DSDM)
• Feature-Driven Development (FDD)
SCRUM
Scrum is a lightweight agile project management
framework.
Formally introduced as a software development
framework by Jeff Sutherland and Ken Schwaber in 1995.
Scrum has garnered increasing popularity in the agile
software development community due to its:
• Simplicity
• Proven productivity
• Ability to act as a wrapper for various engineering
practices promoted by other agile methodologies
EXTREME PROGRAMMING (XP)
A revolutionary software development method, started to appear in 1996
by Kent Beck.
XP is a disciplined approach to delivering high-quality software quickly
and continuously.
The “Customer” works very closely with the development team to define
and prioritize granular units of functionality referred to as “User Stories”.
The development team estimates, plans, and delivers the highest priority
user stories in the form of working, tested software on an iteration-by-
iteration basis.
Introduced some revolutionary practices and ideas.
XP PRACTICES
LEAN SOFTWARE DEVELOPMENT
Lean Software Development is an iterative agile methodology originally
developed by Mary and Tom Poppendieck.
Lean Software Development owes much of its principles and practices to the
Lean Enterprise movement, and the practices of companies like Toyota.
The main principles of Lean methodology include:
• Eliminating Waste
• Amplifying Learning
• Deciding as Late as Possible
• Delivering as Fast as Possible
• Empowering the Team
• Building Integrity In
• Seeing the Whole
KANBAN SOFTWARE DEVELOPMENT
Kanban is Japanese for “visual signal” or “card.”
Toyota line-workers used a kanban (i.e., an actual card) to signal steps in their
manufacturing process.
Kanban does the same for software teams by matching the amount of work in
progress to the team's capacity.
Kanban gives teams more flexible planning options, faster output, clear focus,
and transparency throughout the development cycle.
Kanban core properties:
• Visualize the workflow
• Limit WIP
• Manage flow
• Make Process Policies Explicit
• Improve Collaboratively
DEFINITIONS
Release
• Deployable software package that is the culmination of several
iterations
Iteration
• Timeboxed development cycle within a release that outputs a
potentially shippable product increment
Timebox
• Previously agreed period of time during which a person or a team
works steadily towards completion of some goal
USER STORY
• Captures a description of a software feature from an end-user
perspective
• Describes the type of user, what they want and why
• Helps to create a simplified description of a requirement
DEFINITION OF DONE
• Shared understanding of expectations that software must
live up to in order to be releasable into production
• Managed by the Development Team
RELATIVE SIZING & STORY POINTS
• Studies show that we are better in estimating relatively than estimating
absolute values
• Relative estimation doesn’t require all the details and still provides
reasonable accuracy
• Relative estimation is fast (easier to reach consensus)
• Story points are units of relative size
• Fibonacci sequence recommended to represent points
• Combination of a story’s [Complexity/Difficulty – Relative Time –
Uncertainty]
• Enables the relative comparison of user stories without knowing precisely
how long each of them will take
• Story points estimates don’t expire
• The team doesn’t have to worry who will eventually implement the story
PLANNING POKER ESTIMATION TECHNIQUE
• The Product Owner explains the story along with its conditions
• Each team member assigns an estimate value to the story using one of
the cards
• All the estimates are revealed at the same time
• If estimates are not equal then, the highest and lowest estimators
should mainly discuss and share their reasons
• Additional estimation rounds are conducted each story until consensus
is reached
VELOCITY
• Number of size units covered by the team during an iteration
• Metric
• Measure of progress
• Variable
• Size / Velocity = Duration (number of Iterations)
 Burn-down Chart
Showing the evolution of remaining effort
against time.
 Burn-up Chart
Showing the evolution of completed
effort against time.
SCRUM TEAM
Development Team
• Responsible for delivering a potentially releasable Increment of “Done”
product at the end of each Sprint
• Self-organizing
• Cross Functional
Product Owner
• Responsible for maximizing the value of a product
• Owns Product Backlog
Scrum Master
• Responsible for ensuring Scrum is understood and enacted
• Servant-leader for the Scrum Team
• Remove impediments to the Development Team’s progress
• Facilitating Scrum events as requested or needed
SCRUM EVENTS
• Prescribed events are used in Scrum to create regularity and to
minimize the need for meetings not defined in Scrum
• All events are time-boxed events, such that every event has a
maximum duration
SPRINT
• Timebox of one month or less during which a “Done”, useable, and
potentially releasable product Increment is created
• During the Sprint no changes are made that would endanger the Sprint
Goal
SPRINT PLANNING
• Timeboxed to a maximum of eight hours for a one-month Sprint
during which The work to be performed in the Sprint is planned
• This plan is created by the collaborative work of the entire Scrum Team
• What can be delivered in the Increment resulting from the upcoming
Sprint?
• How will the work needed to deliver the Increment be achieved?
DAILY SCRUM
15-minute time-boxed event for the Development Team to synchronize
activities and create a plan for the next 24 hours
Inspecting the work since the last Daily Scrum
Forecasting the work that could be done before the next one
Held at the same time and place each day to reduce complexity
• What did I do yesterday that helped the Development Team meet the
Sprint Goal?
• What will I do today to help the Development Team meet the Sprint
Goal?
• Do I see any impediment that prevents me or the Development Team
from meeting the Sprint Goal?
SPRINT REVIEW
• Held at the end of the Sprint to inspect the Increment and adapt the
Product Backlog if needed
• The Scrum Team and stakeholders collaborate about what was done in
the Sprint
• Collaborate on the next things that could be done to optimize value
• Presentation of the Increment is intended to elicit feedback and foster
collaboration
• Four-hour time-boxed meeting for one-month Sprints
SPRINT RETROSPECTIVE
• Occurs after the Sprint Review and prior to the next Sprint Planning
• Three-hour time-boxed meeting for one-month Sprints
• Inspect how the last Sprint went with regards to people, relationships,
process, and tools
• Identify and order the major items that went well and potential
improvements
• Create a plan for implementing improvements to the way the Scrum
Team does its work
SCRUM ARTIFACTS
Product Backlog
• An ordered list of the work to be done in order to create, maintain and
sustain a product
• Managed by the Product Owner
Sprint Backlog
• Set of Product Backlog items selected for the Sprint
• A plan for delivering the product Increment and realizing the Sprint Goal
• A forecast by the Development Team about what functionality will be in
the next Increment
Increment
• A piece of working software that adds to previously created Increments,
where the sum of all Increments -as a whole - form a product

More Related Content

What's hot

Agile methodology v 4.5 s
Agile methodology   v 4.5 sAgile methodology   v 4.5 s
Agile methodology v 4.5 s
James Sutter
 
Agile intro resources
Agile intro resourcesAgile intro resources
Agile intro resources
Anwar Sadat
 
Kanban For Software Engineering Apr 242
Kanban For Software Engineering Apr 242Kanban For Software Engineering Apr 242
Kanban For Software Engineering Apr 242
Ross Lawley
 
Waterfall to Agile: A Case Study Presented at Agile India 2014
Waterfall to Agile: A Case Study Presented at Agile India 2014Waterfall to Agile: A Case Study Presented at Agile India 2014
Waterfall to Agile: A Case Study Presented at Agile India 2014
Allen Rutzen
 
Introducing Agile Scrum XP and Kanban
Introducing Agile Scrum XP and KanbanIntroducing Agile Scrum XP and Kanban
Introducing Agile Scrum XP and Kanban
Dimitri Ponomareff
 
Agile Methodology - Agile Project Management Training
Agile Methodology - Agile Project Management TrainingAgile Methodology - Agile Project Management Training
Agile Methodology - Agile Project Management Training
Resit Gulec, MBA, PMP®, ITIL®
 

What's hot (20)

Agile methodology v 4.5 s
Agile methodology   v 4.5 sAgile methodology   v 4.5 s
Agile methodology v 4.5 s
 
Agile101 - What Agile Is and What Agile Is Not
Agile101 - What Agile Is and What Agile Is NotAgile101 - What Agile Is and What Agile Is Not
Agile101 - What Agile Is and What Agile Is Not
 
Agile 101
Agile 101Agile 101
Agile 101
 
Agile celebrates 20. opening
Agile celebrates 20. openingAgile celebrates 20. opening
Agile celebrates 20. opening
 
9 steps to agile adoption – a proposal
9 steps to agile adoption – a proposal9 steps to agile adoption – a proposal
9 steps to agile adoption – a proposal
 
Introduction to Lean, Agile, Scrum, & XP
Introduction to Lean, Agile, Scrum, & XPIntroduction to Lean, Agile, Scrum, & XP
Introduction to Lean, Agile, Scrum, & XP
 
Scrum at a Glance
Scrum at a GlanceScrum at a Glance
Scrum at a Glance
 
Agile
AgileAgile
Agile
 
Using Agile to Teach Agile Open Space Scrum Gathering Orlando 2016
Using Agile to Teach Agile Open Space Scrum Gathering Orlando 2016Using Agile to Teach Agile Open Space Scrum Gathering Orlando 2016
Using Agile to Teach Agile Open Space Scrum Gathering Orlando 2016
 
Agile & SCRUM basics
Agile & SCRUM basicsAgile & SCRUM basics
Agile & SCRUM basics
 
Overview of agile
Overview of agileOverview of agile
Overview of agile
 
Agile Assessment Version 1.0
Agile Assessment Version 1.0Agile Assessment Version 1.0
Agile Assessment Version 1.0
 
Agile intro resources
Agile intro resourcesAgile intro resources
Agile intro resources
 
Introduction to Agile Values & Principles
Introduction to Agile Values & PrinciplesIntroduction to Agile Values & Principles
Introduction to Agile Values & Principles
 
RIPPLE 2014: "Be Agile in a CMMI level 5 World"
RIPPLE 2014: "Be Agile in a CMMI level 5 World"RIPPLE 2014: "Be Agile in a CMMI level 5 World"
RIPPLE 2014: "Be Agile in a CMMI level 5 World"
 
Kanban For Software Engineering Apr 242
Kanban For Software Engineering Apr 242Kanban For Software Engineering Apr 242
Kanban For Software Engineering Apr 242
 
Agile Scrum CMMI
Agile Scrum CMMIAgile Scrum CMMI
Agile Scrum CMMI
 
Waterfall to Agile: A Case Study Presented at Agile India 2014
Waterfall to Agile: A Case Study Presented at Agile India 2014Waterfall to Agile: A Case Study Presented at Agile India 2014
Waterfall to Agile: A Case Study Presented at Agile India 2014
 
Introducing Agile Scrum XP and Kanban
Introducing Agile Scrum XP and KanbanIntroducing Agile Scrum XP and Kanban
Introducing Agile Scrum XP and Kanban
 
Agile Methodology - Agile Project Management Training
Agile Methodology - Agile Project Management TrainingAgile Methodology - Agile Project Management Training
Agile Methodology - Agile Project Management Training
 

Similar to Introduction to Agile Software Development

Flavours of agile software engineering
Flavours of agile software engineeringFlavours of agile software engineering
Flavours of agile software engineering
Zeeshan Masood S
 
Standardization and strategy in agile
Standardization and strategy in agileStandardization and strategy in agile
Standardization and strategy in agile
Naveen Gupta
 

Similar to Introduction to Agile Software Development (20)

Understanding-Agile &Scrum.pdf
Understanding-Agile &Scrum.pdfUnderstanding-Agile &Scrum.pdf
Understanding-Agile &Scrum.pdf
 
Agile Methodology - Software Engineering
Agile Methodology - Software EngineeringAgile Methodology - Software Engineering
Agile Methodology - Software Engineering
 
Agile Software Development and DevOps 21092019
Agile Software Development and DevOps 21092019Agile Software Development and DevOps 21092019
Agile Software Development and DevOps 21092019
 
敏捷大师Arne谈敏捷实施的五项准备
敏捷大师Arne谈敏捷实施的五项准备敏捷大师Arne谈敏捷实施的五项准备
敏捷大师Arne谈敏捷实施的五项准备
 
Fundamentals of Agile
Fundamentals of AgileFundamentals of Agile
Fundamentals of Agile
 
The Agile Movement
The Agile MovementThe Agile Movement
The Agile Movement
 
module I.pptx
module I.pptxmodule I.pptx
module I.pptx
 
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
 
Standardization and strategy in agile
Standardization and strategy in agileStandardization and strategy in agile
Standardization and strategy in agile
 
Practical Scrum - one day training
Practical Scrum - one day training Practical Scrum - one day training
Practical Scrum - one day training
 
Agile
AgileAgile
Agile
 
rumgileebookasc
rumgileebookascrumgileebookasc
rumgileebookasc
 
agilebookscrum
agilebookscrumagilebookscrum
agilebookscrum
 
AGILE SPM_Week 1.pptx
AGILE SPM_Week 1.pptxAGILE SPM_Week 1.pptx
AGILE SPM_Week 1.pptx
 
Are you Agile enough?
Are you Agile enough?Are you Agile enough?
Are you Agile enough?
 
Agile project management using scrum
Agile project management using scrumAgile project management using scrum
Agile project management using scrum
 
Agile Modeling & Scrum Development.pptx
Agile Modeling & Scrum Development.pptxAgile Modeling & Scrum Development.pptx
Agile Modeling & Scrum Development.pptx
 
Overview of Agile methodology & Scrum
Overview of Agile methodology & ScrumOverview of Agile methodology & Scrum
Overview of Agile methodology & Scrum
 
Agile Unified Process (AUP).pptx
Agile Unified Process (AUP).pptxAgile Unified Process (AUP).pptx
Agile Unified Process (AUP).pptx
 

Recently uploaded

%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
masabamasaba
 
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
chiefasafspells
 
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
masabamasaba
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
Health
 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
masabamasaba
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
masabamasaba
 
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
VictoriaMetrics
 
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Medical / Health Care (+971588192166) Mifepristone and Misoprostol tablets 200mg
 

Recently uploaded (20)

%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
 
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
 
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
 
%in Benoni+277-882-255-28 abortion pills for sale in Benoni
%in Benoni+277-882-255-28 abortion pills for sale in Benoni%in Benoni+277-882-255-28 abortion pills for sale in Benoni
%in Benoni+277-882-255-28 abortion pills for sale in Benoni
 
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
 
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park %in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
 
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
 
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open SourceWSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
 
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
 
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
 
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
 
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
 
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
 
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
 

Introduction to Agile Software Development

  • 1. INTRODUCTION TO AGILE SOFTWARE DEVELOPMENT Ahmed Aboul-Kheir
  • 2. WHAT IS AGILE SOFTWARE DEVELOPMENT? In the late 1990’s several methodologies began to get increasing public attention. Each had a different combination of old ideas, new ideas, and transmuted old ideas but they all emphasized: • close collaboration between the programmer team and business experts • face-to-face communication (as more efficient than written documentation) • frequent delivery of new deployable business value • tight, self-organizing teams • ways to craft the code and the team such that the inevitable requirements churn was not a crisis.
  • 3. THE AGILE MANIFESTO The Agile Manifesto was written in February of 2001, at a summit of seventeen independent-minded practitioners of several programming methodologies. The participants didn't agree about much, but they found consensus around four main values. Supplementing the Manifesto, the Twelve Principles further explicate what it is to be Agile.
  • 4.
  • 5. THE TWELVE PRINCIPLES OF AGILE SOFTWARE 1. Our highest priority is to satisfy the customer through early and continuous delivery of valuable software. 2. Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage. 3. Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale. 4. Business people and developers must work together daily throughout the project. 5. Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done. 6. The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.
  • 6. THE TWELVE PRINCIPLES OF AGILE SOFTWARE (CONT’D) 7. Working software is the primary measure of progress. 8. Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely. 9. Continuous attention to technical excellence and good design enhances agility. 10. Simplicity--the art of maximizing the amount of work not done--is essential. 11. The best architectures, requirements, and designs emerge from self- organizing teams. 12. At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.
  • 7. WHAT IS AGILE? Agile is a mindset [that in the software world is] • Established through 4 values • Grounded by 12 principles • Manifested through many many different practices
  • 8.  Doing Agile Learning the practices and applying them without know the mindset and principles to know when to tailor and how to select the appropriate practices  Being Agile Internalizing the Mindset, values, and principles then applying the right practices and tailoring them to different situations as they arise
  • 9. WHAT IS SHU – HA – RI? ShuHaRiDojo is a Japanese Martial Arts form. Shu Ha Ri are three kanji which describe the cycle of training, or perhaps more properly the cycle of progress of a student. SHU: Follow the rule HA: Break the rule RI: Be the rule
  • 10. AGILE METHODOLOGIES The various agile methodologies share much of the same philosophy, characteristics and practices. But from an implementation standpoint, each has its own recipe of practices, terminology, and tactics. • Scrum • Extreme Programming (XP) • Lean Software Development • Kanban Software Development • Crystal • Dynamic Systems Development Method (DSDM) • Feature-Driven Development (FDD)
  • 11. SCRUM Scrum is a lightweight agile project management framework. Formally introduced as a software development framework by Jeff Sutherland and Ken Schwaber in 1995. Scrum has garnered increasing popularity in the agile software development community due to its: • Simplicity • Proven productivity • Ability to act as a wrapper for various engineering practices promoted by other agile methodologies
  • 12.
  • 13. EXTREME PROGRAMMING (XP) A revolutionary software development method, started to appear in 1996 by Kent Beck. XP is a disciplined approach to delivering high-quality software quickly and continuously. The “Customer” works very closely with the development team to define and prioritize granular units of functionality referred to as “User Stories”. The development team estimates, plans, and delivers the highest priority user stories in the form of working, tested software on an iteration-by- iteration basis. Introduced some revolutionary practices and ideas.
  • 15. LEAN SOFTWARE DEVELOPMENT Lean Software Development is an iterative agile methodology originally developed by Mary and Tom Poppendieck. Lean Software Development owes much of its principles and practices to the Lean Enterprise movement, and the practices of companies like Toyota. The main principles of Lean methodology include: • Eliminating Waste • Amplifying Learning • Deciding as Late as Possible • Delivering as Fast as Possible • Empowering the Team • Building Integrity In • Seeing the Whole
  • 16. KANBAN SOFTWARE DEVELOPMENT Kanban is Japanese for “visual signal” or “card.” Toyota line-workers used a kanban (i.e., an actual card) to signal steps in their manufacturing process. Kanban does the same for software teams by matching the amount of work in progress to the team's capacity. Kanban gives teams more flexible planning options, faster output, clear focus, and transparency throughout the development cycle. Kanban core properties: • Visualize the workflow • Limit WIP • Manage flow • Make Process Policies Explicit • Improve Collaboratively
  • 17. DEFINITIONS Release • Deployable software package that is the culmination of several iterations Iteration • Timeboxed development cycle within a release that outputs a potentially shippable product increment Timebox • Previously agreed period of time during which a person or a team works steadily towards completion of some goal
  • 18. USER STORY • Captures a description of a software feature from an end-user perspective • Describes the type of user, what they want and why • Helps to create a simplified description of a requirement
  • 19. DEFINITION OF DONE • Shared understanding of expectations that software must live up to in order to be releasable into production • Managed by the Development Team
  • 20. RELATIVE SIZING & STORY POINTS • Studies show that we are better in estimating relatively than estimating absolute values • Relative estimation doesn’t require all the details and still provides reasonable accuracy • Relative estimation is fast (easier to reach consensus) • Story points are units of relative size • Fibonacci sequence recommended to represent points • Combination of a story’s [Complexity/Difficulty – Relative Time – Uncertainty] • Enables the relative comparison of user stories without knowing precisely how long each of them will take • Story points estimates don’t expire • The team doesn’t have to worry who will eventually implement the story
  • 21. PLANNING POKER ESTIMATION TECHNIQUE • The Product Owner explains the story along with its conditions • Each team member assigns an estimate value to the story using one of the cards • All the estimates are revealed at the same time • If estimates are not equal then, the highest and lowest estimators should mainly discuss and share their reasons • Additional estimation rounds are conducted each story until consensus is reached
  • 22. VELOCITY • Number of size units covered by the team during an iteration • Metric • Measure of progress • Variable • Size / Velocity = Duration (number of Iterations)
  • 23.  Burn-down Chart Showing the evolution of remaining effort against time.  Burn-up Chart Showing the evolution of completed effort against time.
  • 24. SCRUM TEAM Development Team • Responsible for delivering a potentially releasable Increment of “Done” product at the end of each Sprint • Self-organizing • Cross Functional Product Owner • Responsible for maximizing the value of a product • Owns Product Backlog Scrum Master • Responsible for ensuring Scrum is understood and enacted • Servant-leader for the Scrum Team • Remove impediments to the Development Team’s progress • Facilitating Scrum events as requested or needed
  • 25. SCRUM EVENTS • Prescribed events are used in Scrum to create regularity and to minimize the need for meetings not defined in Scrum • All events are time-boxed events, such that every event has a maximum duration
  • 26. SPRINT • Timebox of one month or less during which a “Done”, useable, and potentially releasable product Increment is created • During the Sprint no changes are made that would endanger the Sprint Goal
  • 27. SPRINT PLANNING • Timeboxed to a maximum of eight hours for a one-month Sprint during which The work to be performed in the Sprint is planned • This plan is created by the collaborative work of the entire Scrum Team • What can be delivered in the Increment resulting from the upcoming Sprint? • How will the work needed to deliver the Increment be achieved?
  • 28. DAILY SCRUM 15-minute time-boxed event for the Development Team to synchronize activities and create a plan for the next 24 hours Inspecting the work since the last Daily Scrum Forecasting the work that could be done before the next one Held at the same time and place each day to reduce complexity • What did I do yesterday that helped the Development Team meet the Sprint Goal? • What will I do today to help the Development Team meet the Sprint Goal? • Do I see any impediment that prevents me or the Development Team from meeting the Sprint Goal?
  • 29. SPRINT REVIEW • Held at the end of the Sprint to inspect the Increment and adapt the Product Backlog if needed • The Scrum Team and stakeholders collaborate about what was done in the Sprint • Collaborate on the next things that could be done to optimize value • Presentation of the Increment is intended to elicit feedback and foster collaboration • Four-hour time-boxed meeting for one-month Sprints
  • 30. SPRINT RETROSPECTIVE • Occurs after the Sprint Review and prior to the next Sprint Planning • Three-hour time-boxed meeting for one-month Sprints • Inspect how the last Sprint went with regards to people, relationships, process, and tools • Identify and order the major items that went well and potential improvements • Create a plan for implementing improvements to the way the Scrum Team does its work
  • 31. SCRUM ARTIFACTS Product Backlog • An ordered list of the work to be done in order to create, maintain and sustain a product • Managed by the Product Owner Sprint Backlog • Set of Product Backlog items selected for the Sprint • A plan for delivering the product Increment and realizing the Sprint Goal • A forecast by the Development Team about what functionality will be in the next Increment Increment • A piece of working software that adds to previously created Increments, where the sum of all Increments -as a whole - form a product