SlideShare a Scribd company logo
Software Engineering: A Practitioner’s Approach, 6/e Chapter 4 Agile Development copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc. For University Use Only May be reproduced ONLY for student use at the university level when used in conjunction with  Software Engineering: A Practitioner's Approach. Any other reproduction or use is expressly prohibited.
The Manifesto for  Agile Software Development “ We are uncovering better ways of developing software by doing it and helping others do it.  Through this work we have come to value:  Individuals and interactions  over processes and tools  Working software  over comprehensive documentation  Customer collaboration  over contract negotiation  Responding to change  over following a plan   That is, while there is value in the items on the right, we value the items on the left more.” 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
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
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
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 excuted to assess customer visible functionality
Extreme Programming (XP)
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
Adaptive Software Development
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.
Dynamic Systems Development Method 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
Scrum
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
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
Feature Driven Development 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

More Related Content

PPTX
Waterfall model in SDLC
PPT
Design Patterns
PPT
Lecture 2 introduction to Software Engineering 1
PPTX
Design pattern-presentation
PPT
Pressman ch-25-risk-management
PPT
Capability Maturity Model (CMM) in Software Engineering
PPTX
Software Testing and Quality Assurance unit1
Waterfall model in SDLC
Design Patterns
Lecture 2 introduction to Software Engineering 1
Design pattern-presentation
Pressman ch-25-risk-management
Capability Maturity Model (CMM) in Software Engineering
Software Testing and Quality Assurance unit1

What's hot (20)

PPTX
Software Measurement and Metrics.pptx
PPS
Formal Methods
PPT
Design Patterns.ppt
PPT
Ch04 agile development models
PPTX
Component Based Software Engineering
PPTX
Metrics for project size estimation
PPTX
Risk Management
PDF
Software Project Management: Risk Management
PPT
Risk management in software engineering
PDF
COCOMO Model By Dr. B. J. Mohite
PPTX
Software cost estimation techniques presentation
PPTX
Decomposition technique In Software Engineering
PPTX
Iterative model
PPTX
Software Evolution
ODP
Defects in software testing
PPTX
Software Reliability
PPTX
What is Rapid Application Development
PPTX
SDLC, Iterative Model
PPTX
Spiral model
PPT
Software quality
Software Measurement and Metrics.pptx
Formal Methods
Design Patterns.ppt
Ch04 agile development models
Component Based Software Engineering
Metrics for project size estimation
Risk Management
Software Project Management: Risk Management
Risk management in software engineering
COCOMO Model By Dr. B. J. Mohite
Software cost estimation techniques presentation
Decomposition technique In Software Engineering
Iterative model
Software Evolution
Defects in software testing
Software Reliability
What is Rapid Application Development
SDLC, Iterative Model
Spiral model
Software quality
Ad

Viewers also liked (6)

PDF
Uml book 7th ed. by Roger S. Pressman
PPT
SE chapter 4
PPTX
An Agile Development Primer
PPTX
Software Engineering Practice
PPT
Agile Development | Agile Process Models
PPT
Bringing User-Centered Design Practices into Agile Development Projects
Uml book 7th ed. by Roger S. Pressman
SE chapter 4
An Agile Development Primer
Software Engineering Practice
Agile Development | Agile Process Models
Bringing User-Centered Design Practices into Agile Development Projects
Ad

Similar to Ch04 (20)

PPTX
03 fse agiledevelopment
PPTX
Chapter 5
PPT
Chapter 3 Agile Development 7e.ppt,Chapter 5 - 1.ppt
PPTX
Software engineering MODULE3__Agile.pptx
PPT
3. Agility and extreme programming OF UNIT-1 PPT
PPT
Software Engineering (An Agile View of Process)
PPTX
Agile Process models
PPT
software engineering notes for msc stude
PDF
4. ch 3-agile process
PPT
Week_03-Agile Developmnet.ppt
PPT
SE Lecture 3.ppt
PDF
A littlebook about agile
DOCX
PPTX
Agile-Software-Development in SAP ERP.pptx
PPTX
UNITTTTTTTTTTTTTTTTTTTTTTTT 1.2 (1).pptx
PPT
chapter-03-Agile view of process.ppt
PPTX
Comparative study on agile software development
PPTX
ch3.pptx
PPT
what is agile and its usage and properties
PDF
ch2-Agile-Software-Development-engineerning.pdf
03 fse agiledevelopment
Chapter 5
Chapter 3 Agile Development 7e.ppt,Chapter 5 - 1.ppt
Software engineering MODULE3__Agile.pptx
3. Agility and extreme programming OF UNIT-1 PPT
Software Engineering (An Agile View of Process)
Agile Process models
software engineering notes for msc stude
4. ch 3-agile process
Week_03-Agile Developmnet.ppt
SE Lecture 3.ppt
A littlebook about agile
Agile-Software-Development in SAP ERP.pptx
UNITTTTTTTTTTTTTTTTTTTTTTTT 1.2 (1).pptx
chapter-03-Agile view of process.ppt
Comparative study on agile software development
ch3.pptx
what is agile and its usage and properties
ch2-Agile-Software-Development-engineerning.pdf

More from Humberto Bruno Pontes Silva (20)

PPTX
Confraria samba choro
PPT
Accountability Corbit Overview 06262007
PPT
Ruy C Pq D Cbc 1 2007 10 29
PDF
Palestra Daniel Dias1
PPT
Portuguese Scrum
PPT
Certificados Digitais
PDF
Apresentacao Aula04 So
PDF
Apresentacao Aula03 So
PDF
Apresentacao Aula02 So
PPT
10 P R O C E S S O N O T C U
PPT
Secex Sc Conhecendo O Tcu
Confraria samba choro
Accountability Corbit Overview 06262007
Ruy C Pq D Cbc 1 2007 10 29
Palestra Daniel Dias1
Portuguese Scrum
Certificados Digitais
Apresentacao Aula04 So
Apresentacao Aula03 So
Apresentacao Aula02 So
10 P R O C E S S O N O T C U
Secex Sc Conhecendo O Tcu

Recently uploaded (20)

PDF
pdfcoffee.com-opt-b1plus-sb-answers.pdfvi
PDF
COST SHEET- Tender and Quotation unit 2.pdf
PDF
Laughter Yoga Basic Learning Workshop Manual
DOCX
Business Management - unit 1 and 2
PPTX
CkgxkgxydkydyldylydlydyldlyddolydyoyyU2.pptx
PPTX
Lecture (1)-Introduction.pptx business communication
PDF
Chapter 5_Foreign Exchange Market in .pdf
PPTX
The Marketing Journey - Tracey Phillips - Marketing Matters 7-2025.pptx
PDF
WRN_Investor_Presentation_August 2025.pdf
PDF
20250805_A. Stotz All Weather Strategy - Performance review July 2025.pdf
PPTX
HR Introduction Slide (1).pptx on hr intro
PDF
Reconciliation AND MEMORANDUM RECONCILATION
PDF
SIMNET Inc – 2023’s Most Trusted IT Services & Solution Provider
PDF
Types of control:Qualitative vs Quantitative
PDF
Roadmap Map-digital Banking feature MB,IB,AB
PDF
How to Get Funding for Your Trucking Business
PDF
Training And Development of Employee .pdf
PDF
Power and position in leadershipDOC-20250808-WA0011..pdf
PPT
Data mining for business intelligence ch04 sharda
PPTX
ICG2025_ICG 6th steering committee 30-8-24.pptx
pdfcoffee.com-opt-b1plus-sb-answers.pdfvi
COST SHEET- Tender and Quotation unit 2.pdf
Laughter Yoga Basic Learning Workshop Manual
Business Management - unit 1 and 2
CkgxkgxydkydyldylydlydyldlyddolydyoyyU2.pptx
Lecture (1)-Introduction.pptx business communication
Chapter 5_Foreign Exchange Market in .pdf
The Marketing Journey - Tracey Phillips - Marketing Matters 7-2025.pptx
WRN_Investor_Presentation_August 2025.pdf
20250805_A. Stotz All Weather Strategy - Performance review July 2025.pdf
HR Introduction Slide (1).pptx on hr intro
Reconciliation AND MEMORANDUM RECONCILATION
SIMNET Inc – 2023’s Most Trusted IT Services & Solution Provider
Types of control:Qualitative vs Quantitative
Roadmap Map-digital Banking feature MB,IB,AB
How to Get Funding for Your Trucking Business
Training And Development of Employee .pdf
Power and position in leadershipDOC-20250808-WA0011..pdf
Data mining for business intelligence ch04 sharda
ICG2025_ICG 6th steering committee 30-8-24.pptx

Ch04

  • 1. Software Engineering: A Practitioner’s Approach, 6/e Chapter 4 Agile Development copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc. For University Use Only May be reproduced ONLY for student use at the university level when used in conjunction with Software Engineering: A Practitioner's Approach. Any other reproduction or use is expressly prohibited.
  • 2. The Manifesto for Agile Software Development “ We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value: Individuals and interactions over processes and tools Working software over comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan That is, while there is value in the items on the right, we value the items on the left more.” 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
  • 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 excuted to assess customer visible functionality
  • 8. 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
  • 10. 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 DSDM Life Cycle (with permission of the DSDM consortium)
  • 12. 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. 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 Reprinted with permission of Peter Coad
  • 17. 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