SlideShare a Scribd company logo
Chapter 3
Agile Development
1
The Manifesto for
Agile Software Development
2
“
“We are uncovering better ways of developing
We are uncovering better ways of developing
software by doing it and helping others do it.
software by doing it and helping others do it.
Through this work we have come to value:
Through this work we have come to value:
•Individuals and interactions
Individuals and interactions over processes
over processes
and tools
and tools
•Working software
Working software over comprehensive
over comprehensive
documentation
documentation
•Customer collaboration
Customer collaboration over contract
over contract
negotiation
negotiation
•Responding to change
Responding to change over following a plan
over following a plan
Kent Beck et al
Kent Beck et al
What is “Agility”?
 Effective (rapid and adaptive) response to
change
 Effective communication among all stakeholders
 Drawing the customer onto the team
 Organizing a team so that it is in control of the
work performed
Yielding …
 Rapid, incremental delivery of software
3
4
An Agile Process
 Is driven by customer descriptions of what is
required (scenarios)
 Recognizes that plans are short-lived
 Develops software iteratively with a heavy
emphasis on construction activities
 Delivers multiple ‘software increments’
 Adapts as changes occur
5
Extreme Programming (XP)
 The most widely used agile process, originally proposed
by Kent Beck
 XP Planning
 Begins with the creation of “user stories”
 Agile team assesses each story and assigns a cost
 Stories are grouped to for a deliverable increment
 A commitment is made on delivery date
 After the first increment “project velocity” is used to help
define subsequent delivery dates for other increments
6
Extreme Programming (XP)
 XP Design
 Follows the KIS principle
 Encourage the use of CRC cards (see Chapter 8)
 For difficult design problems, suggests the creation of “spike solutions”—a design
prototype
 Encourages “refactoring”—an iterative refinement of the internal program design
 XP Coding
 Recommends the construction of a unit test for a store before coding commences
 Encourages “pair programming”
 XP Testing
 All unit tests are executed daily
 “Acceptance tests” are defined by the customer and executed to assess customer visible
functionality
7
Extreme Programming (XP)
8
unit test
continuous integration
acceptance testing
pair
programming
Release
user stories
values
acceptance test criteria
iteration plan
simple design
CRC cards
spike solutions
prototypes
refactoring
software increment
project velocity computed
Adaptive Software Development
 Originally proposed by Jim Highsmith
 ASD — distinguishing features
 Mission-driven planning
 Component-based focus
 Uses “time-boxing” (See Chapter 24)
 Explicit consideration of risks
 Emphasizes collaboration for requirements
gathering
 Emphasizes “learning” throughout the process
9
Adaptive Software Development
10
adaptive cycle planning
uses mission statement
project constraints
basic requirements
time-boxed release plan
Requirements gathering
J AD
mini-specs
components implemented/ tested
focus groups for feedback
formal technical reviews
postmortems
software increment
adjustments for subsequent cycles
Release
Dynamic Systems Development Method
 Promoted by the DSDM Consortium (www.dsdm.org)
 DSDM—distinguishing features
Similar in most respects to XP and/or ASD
Nine guiding principles
 Active user involvement is imperative.
 DSDM teams must be empowered to make decisions.
 The focus is on frequent delivery of products.
 Fitness for business purpose is the essential criterion for acceptance of deliverables.
 Iterative and incremental development is necessary to converge on an accurate business solution.
 All changes during development are reversible.
 Requirements are baselined at a high level
 Testing is integrated throughout the life-cycle.
11
Dynamic Systems Development Method
12
DSDM Life Cycle (with permission of the DSDM consortium)
Scrum
 Originally proposed by Schwaber and Beedle
 Scrum—distinguishing features
 Development work is partitioned into “packets”
 Testing and documentation are on-going as the product is
constructed
 Work occurs in “sprints” and is derived from a “backlog” of
existing requirements
 Meetings are very short and sometimes conducted without
chairs
 “demos” are delivered to the customer with the time-box
allocated
13
Scrum
14
Scrum Process Flow (used with permission)
Crystal
 Proposed by Cockburn and Highsmith
 Crystal—distinguishing features
 Actually a family of process models that allow
“maneuverability” based on problem characteristics
 Face-to-face communication is emphasized
 Suggests the use of “reflection workshops” to
review the work habits of the team
15
Feature Driven Development
 Originally proposed by Peter Coad et al
 FDD—distinguishing features
 Emphasis is on defining “features”
 a feature “is a client-valued function that can be implemented in
two weeks or less.”
 Uses a feature template
 <action> the <result> <by | for | of | to> a(n) <object>
 A features list is created and “plan by feature” is conducted
 Design and construction merge in FDD
16
Feature Driven Development
17
Reprinted with permission of Peter Coad
Reprinted with permission of Peter Coad
Agile Modeling
 Originally proposed by Scott Ambler
 Suggests a set of agile modeling principles
 Model with a purpose
 Use multiple models
 Travel light
 Content is more important than representation
 Know the models and the tools you use to create
them
 Adapt locally
18

More Related Content

Similar to Chapter 3 Agile Development 7e.ppt,Chapter 5 - 1.ppt (20)

PPTX
software engineering and project management 3rd module ppt presenetation
suma919559
 
PPT
SE Lecture 3.ppt
ssusere16bd9
 
PPTX
Chapter 5
TehreemSaleem5
 
PPTX
UNITTTTTTTTTTTTTTTTTTTTTTTT 1.2 (1).pptx
mailsender787
 
PPT
Week_03-Agile Developmnet.ppt
RedHeart11
 
PPT
3. Agility and extreme programming OF UNIT-1 PPT
sharmila27432
 
PPT
chapter-03-Agile view of process.ppt
NakulP3
 
PPTX
agile modeling in project management.pptx
RahatUllah55
 
PPT
what is agile and its usage and properties
NMahendiran
 
PDF
Role of Agile model in software development
RaviRai305867
 
PPTX
Agile Development unleashed
livgeni
 
PDF
ch2-Agile-Software-Development-engineerning.pdf
yedej15330
 
PPTX
Ch3. agile sw dev
software-engineering-book
 
PPTX
unit-1 agile development.pptx
DhruvSuthar24
 
PPTX
Agile Practices - eXtreme Programming
Aniruddha Chakrabarti
 
PPT
Agile Software Development in Bachelor of Computer Applications.ppt
JASVEERSINGHVU21CSCI
 
PPTX
LU 3 Agile SW Dev.pptx
TAISEEREISA
 
PDF
ch3-150102101842-conversion-gate02.pdf
abdallhelkahlout1
 
PPTX
Ch3 - Agile SW Dev
Harsh Verdhan Raj
 
PPTX
Agile software development and extreme Programming
Fatemeh Karimi
 
software engineering and project management 3rd module ppt presenetation
suma919559
 
SE Lecture 3.ppt
ssusere16bd9
 
Chapter 5
TehreemSaleem5
 
UNITTTTTTTTTTTTTTTTTTTTTTTT 1.2 (1).pptx
mailsender787
 
Week_03-Agile Developmnet.ppt
RedHeart11
 
3. Agility and extreme programming OF UNIT-1 PPT
sharmila27432
 
chapter-03-Agile view of process.ppt
NakulP3
 
agile modeling in project management.pptx
RahatUllah55
 
what is agile and its usage and properties
NMahendiran
 
Role of Agile model in software development
RaviRai305867
 
Agile Development unleashed
livgeni
 
ch2-Agile-Software-Development-engineerning.pdf
yedej15330
 
Ch3. agile sw dev
software-engineering-book
 
unit-1 agile development.pptx
DhruvSuthar24
 
Agile Practices - eXtreme Programming
Aniruddha Chakrabarti
 
Agile Software Development in Bachelor of Computer Applications.ppt
JASVEERSINGHVU21CSCI
 
LU 3 Agile SW Dev.pptx
TAISEEREISA
 
ch3-150102101842-conversion-gate02.pdf
abdallhelkahlout1
 
Ch3 - Agile SW Dev
Harsh Verdhan Raj
 
Agile software development and extreme Programming
Fatemeh Karimi
 

Recently uploaded (20)

PPTX
High-Rise Interior Mastery by Top 3D Visualization Experts
Yantram Animation Studio Corporation
 
PDF
WEEK3-Literary-Gennnnnnnnnnnnnnnnnres.pdf
MaybelynVergara
 
PPT
Teaching Learning-1- (New) 2020.pptuuuo
omarekaabed
 
PPTX
DEVELOPING-PARAGRAPHS.pptx-developing...
rania680036
 
PDF
tdtr.pdfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj
JuanCParedes
 
PPTX
Adobe Creative Cloud Cleaner Tool Crack Free Download Latest Version 2025
Slideshare
 
PPTX
sistem teknologi yang di desain untuk mahasiswa dan dosen agar memudahkan mer...
gamesonlya2rj
 
PPTX
Dndnnnssjsjjsjsjjsssjsjsjjsjsjsjsjjsjsjdn.pptx
Nandy31
 
PDF
🔴BUKTI KEMENANGAN HARI INI SELASA 08 JULI 2025 !!!🔴
GRAB
 
PDF
PHILGOV-QUIZ-_20250625_182551_000.pdfhehe
errollnas3
 
PPTX
hall ppt 1 it for basic tamolet .pptx
ashishbehera64
 
PDF
Case Study on good and bad acoustics in auditorium
Disha Agrawal
 
PPTX
Chapter 2-3.pptxnsnsnsnsnsjsjsjsjejeusuejsjsj
hibaaqabdirisaaq331
 
PPTX
TAMBO CANTA CALLAO C3 INFOGRAFIA - 05.07.pptx
milleracosta1
 
PPTX
Urban design is a huge concept when it comes to planning.
IshikaPanchal11
 
PPTX
SAMPLE FILE OF-PPT-FINAL-ORAL-DEFENSE.pptx
Yvez2
 
PDF
The Role of Logos as Identity Shapers (IFIC Logo)
Md. Mehedi Hasan Asif
 
PPTX
the very teaching plan extra ordinary.pptx
PamelaOdibeli1
 
DOCX
Ai Vehicle traffic signal detector Literature Review.
DavidNameza
 
PDF
cs603 ppts .pdf 222222222222222222222222
RabiaNazneen1
 
High-Rise Interior Mastery by Top 3D Visualization Experts
Yantram Animation Studio Corporation
 
WEEK3-Literary-Gennnnnnnnnnnnnnnnnres.pdf
MaybelynVergara
 
Teaching Learning-1- (New) 2020.pptuuuo
omarekaabed
 
DEVELOPING-PARAGRAPHS.pptx-developing...
rania680036
 
tdtr.pdfjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj
JuanCParedes
 
Adobe Creative Cloud Cleaner Tool Crack Free Download Latest Version 2025
Slideshare
 
sistem teknologi yang di desain untuk mahasiswa dan dosen agar memudahkan mer...
gamesonlya2rj
 
Dndnnnssjsjjsjsjjsssjsjsjjsjsjsjsjjsjsjdn.pptx
Nandy31
 
🔴BUKTI KEMENANGAN HARI INI SELASA 08 JULI 2025 !!!🔴
GRAB
 
PHILGOV-QUIZ-_20250625_182551_000.pdfhehe
errollnas3
 
hall ppt 1 it for basic tamolet .pptx
ashishbehera64
 
Case Study on good and bad acoustics in auditorium
Disha Agrawal
 
Chapter 2-3.pptxnsnsnsnsnsjsjsjsjejeusuejsjsj
hibaaqabdirisaaq331
 
TAMBO CANTA CALLAO C3 INFOGRAFIA - 05.07.pptx
milleracosta1
 
Urban design is a huge concept when it comes to planning.
IshikaPanchal11
 
SAMPLE FILE OF-PPT-FINAL-ORAL-DEFENSE.pptx
Yvez2
 
The Role of Logos as Identity Shapers (IFIC Logo)
Md. Mehedi Hasan Asif
 
the very teaching plan extra ordinary.pptx
PamelaOdibeli1
 
Ai Vehicle traffic signal detector Literature Review.
DavidNameza
 
cs603 ppts .pdf 222222222222222222222222
RabiaNazneen1
 
Ad

Chapter 3 Agile Development 7e.ppt,Chapter 5 - 1.ppt

  • 2. The Manifesto for Agile Software Development 2 “ “We are uncovering better ways of developing We are uncovering better ways of developing software by doing it and helping others do it. software by doing it and helping others do it. Through this work we have come to value: Through this work we have come to value: •Individuals and interactions Individuals and interactions over processes over processes and tools and tools •Working software Working software over comprehensive over comprehensive documentation documentation •Customer collaboration Customer collaboration over contract over contract negotiation negotiation •Responding to change Responding to change over following a plan over following a plan Kent Beck et al Kent Beck et al
  • 3. What is “Agility”?  Effective (rapid and adaptive) response to change  Effective communication among all stakeholders  Drawing the customer onto the team  Organizing a team so that it is in control of the work performed Yielding …  Rapid, incremental delivery of software 3
  • 4. 4
  • 5. An Agile Process  Is driven by customer descriptions of what is required (scenarios)  Recognizes that plans are short-lived  Develops software iteratively with a heavy emphasis on construction activities  Delivers multiple ‘software increments’  Adapts as changes occur 5
  • 6. Extreme Programming (XP)  The most widely used agile process, originally proposed by Kent Beck  XP Planning  Begins with the creation of “user stories”  Agile team assesses each story and assigns a cost  Stories are grouped to for a deliverable increment  A commitment is made on delivery date  After the first increment “project velocity” is used to help define subsequent delivery dates for other increments 6
  • 7. Extreme Programming (XP)  XP Design  Follows the KIS principle  Encourage the use of CRC cards (see Chapter 8)  For difficult design problems, suggests the creation of “spike solutions”—a design prototype  Encourages “refactoring”—an iterative refinement of the internal program design  XP Coding  Recommends the construction of a unit test for a store before coding commences  Encourages “pair programming”  XP Testing  All unit tests are executed daily  “Acceptance tests” are defined by the customer and executed to assess customer visible functionality 7
  • 8. Extreme Programming (XP) 8 unit test continuous integration acceptance testing pair programming Release user stories values acceptance test criteria iteration plan simple design CRC cards spike solutions prototypes refactoring software increment project velocity computed
  • 9. Adaptive Software Development  Originally proposed by Jim Highsmith  ASD — distinguishing features  Mission-driven planning  Component-based focus  Uses “time-boxing” (See Chapter 24)  Explicit consideration of risks  Emphasizes collaboration for requirements gathering  Emphasizes “learning” throughout the process 9
  • 10. Adaptive Software Development 10 adaptive cycle planning uses mission statement project constraints basic requirements time-boxed release plan Requirements gathering J AD mini-specs components implemented/ tested focus groups for feedback formal technical reviews postmortems software increment adjustments for subsequent cycles Release
  • 11. Dynamic Systems Development Method  Promoted by the DSDM Consortium (www.dsdm.org)  DSDM—distinguishing features Similar in most respects to XP and/or ASD Nine guiding principles  Active user involvement is imperative.  DSDM teams must be empowered to make decisions.  The focus is on frequent delivery of products.  Fitness for business purpose is the essential criterion for acceptance of deliverables.  Iterative and incremental development is necessary to converge on an accurate business solution.  All changes during development are reversible.  Requirements are baselined at a high level  Testing is integrated throughout the life-cycle. 11
  • 12. Dynamic Systems Development Method 12 DSDM Life Cycle (with permission of the DSDM consortium)
  • 13. Scrum  Originally proposed by Schwaber and Beedle  Scrum—distinguishing features  Development work is partitioned into “packets”  Testing and documentation are on-going as the product is constructed  Work occurs in “sprints” and is derived from a “backlog” of existing requirements  Meetings are very short and sometimes conducted without chairs  “demos” are delivered to the customer with the time-box allocated 13
  • 14. Scrum 14 Scrum Process Flow (used with permission)
  • 15. Crystal  Proposed by Cockburn and Highsmith  Crystal—distinguishing features  Actually a family of process models that allow “maneuverability” based on problem characteristics  Face-to-face communication is emphasized  Suggests the use of “reflection workshops” to review the work habits of the team 15
  • 16. Feature Driven Development  Originally proposed by Peter Coad et al  FDD—distinguishing features  Emphasis is on defining “features”  a feature “is a client-valued function that can be implemented in two weeks or less.”  Uses a feature template  <action> the <result> <by | for | of | to> a(n) <object>  A features list is created and “plan by feature” is conducted  Design and construction merge in FDD 16
  • 17. Feature Driven Development 17 Reprinted with permission of Peter Coad Reprinted with permission of Peter Coad
  • 18. Agile Modeling  Originally proposed by Scott Ambler  Suggests a set of agile modeling principles  Model with a purpose  Use multiple models  Travel light  Content is more important than representation  Know the models and the tools you use to create them  Adapt locally 18