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 sJames Sutter
 
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 NotDerek Huether
 
Agile celebrates 20. opening
Agile celebrates 20. openingAgile celebrates 20. opening
Agile celebrates 20. openingOlga Savich
 
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 proposalNaveen Indusekhar
 
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 2016Fabian Schwartz, MBA
 
Agile & SCRUM basics
Agile & SCRUM basicsAgile & SCRUM basics
Agile & SCRUM basicsArun R
 
Agile Assessment Version 1.0
Agile Assessment Version 1.0Agile Assessment Version 1.0
Agile Assessment Version 1.0Ciprian Mester
 
Agile intro resources
Agile intro resourcesAgile intro resources
Agile intro resourcesAnwar Sadat
 
Introduction to Agile Values & Principles
Introduction to Agile Values & PrinciplesIntroduction to Agile Values & Principles
Introduction to Agile Values & PrinciplesAndreea Visanoiu
 
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"Délio Almeida
 
Kanban For Software Engineering Apr 242
Kanban For Software Engineering Apr 242Kanban For Software Engineering Apr 242
Kanban For Software Engineering Apr 242Ross 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 2014Allen Rutzen
 
Introducing Agile Scrum XP and Kanban
Introducing Agile Scrum XP and KanbanIntroducing Agile Scrum XP and Kanban
Introducing Agile Scrum XP and KanbanDimitri Ponomareff
 

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

Understanding-Agile &Scrum.pdf
Understanding-Agile &Scrum.pdfUnderstanding-Agile &Scrum.pdf
Understanding-Agile &Scrum.pdfSwapnikaReddy6
 
Agile Methodology - Software Engineering
Agile Methodology - Software EngineeringAgile Methodology - Software Engineering
Agile Methodology - Software EngineeringPurvik Rana
 
Agile Software Development and DevOps 21092019
Agile Software Development and DevOps 21092019Agile Software Development and DevOps 21092019
Agile Software Development and DevOps 21092019Ahmed Misbah
 
敏捷大师Arne谈敏捷实施的五项准备
敏捷大师Arne谈敏捷实施的五项准备敏捷大师Arne谈敏捷实施的五项准备
敏捷大师Arne谈敏捷实施的五项准备kookieyang
 
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
 
Standardization and strategy in agile
Standardization and strategy in agileStandardization and strategy in agile
Standardization and strategy in agileNaveen Gupta
 
Practical Scrum - one day training
Practical Scrum - one day training Practical Scrum - one day training
Practical Scrum - one day training Anat (Alon) Salhov
 
rumgileebookasc
rumgileebookascrumgileebookasc
rumgileebookascAnne Starr
 
agilebookscrum
agilebookscrumagilebookscrum
agilebookscrumAnne Starr
 
Agile project management using scrum
Agile project management using scrumAgile project management using scrum
Agile project management using scrumPrudentialSolutions
 
Agile Modeling & Scrum Development.pptx
Agile Modeling & Scrum Development.pptxAgile Modeling & Scrum Development.pptx
Agile Modeling & Scrum Development.pptxSamira AlShahrani
 
Overview of Agile methodology & Scrum
Overview of Agile methodology & ScrumOverview of Agile methodology & Scrum
Overview of Agile methodology & ScrumSrinivasan Ganesan
 
Agile Unified Process (AUP).pptx
Agile Unified Process (AUP).pptxAgile Unified Process (AUP).pptx
Agile Unified Process (AUP).pptxKarim Monir
 

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

GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfAlina Yurenko
 
Best Web Development Agency- Idiosys USA.pdf
Best Web Development Agency- Idiosys USA.pdfBest Web Development Agency- Idiosys USA.pdf
Best Web Development Agency- Idiosys USA.pdfIdiosysTechnologies1
 
SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at RuntimeSpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtimeandrehoraa
 
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company OdishaBalasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odishasmiwainfosol
 
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Matt Ray
 
How to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdfHow to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdfLivetecs LLC
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxTier1 app
 
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Angel Borroy López
 
What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....kzayra69
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureDinusha Kumarasiri
 
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...OnePlan Solutions
 
Introduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfIntroduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfFerryKemperman
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEEVICTOR MAESTRE RAMIREZ
 
How to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationHow to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationBradBedford3
 
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Natan Silnitsky
 
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)jennyeacort
 
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanySuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanyChristoph Pohl
 
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Cizo Technology Services
 

Recently uploaded (20)

GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
 
Best Web Development Agency- Idiosys USA.pdf
Best Web Development Agency- Idiosys USA.pdfBest Web Development Agency- Idiosys USA.pdf
Best Web Development Agency- Idiosys USA.pdf
 
SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at RuntimeSpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtime
 
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company OdishaBalasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
 
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
 
How to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdfHow to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdf
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
 
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
 
2.pdf Ejercicios de programación competitiva
2.pdf Ejercicios de programación competitiva2.pdf Ejercicios de programación competitiva
2.pdf Ejercicios de programación competitiva
 
What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with Azure
 
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
 
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort ServiceHot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
 
Introduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfIntroduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdf
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEE
 
How to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationHow to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion Application
 
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
 
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
 
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanySuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
 
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
 

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