SlideShare a Scribd company logo
16
Most read
20
Most read
21
Most read
These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e
(McGraw-Hill, 2009) Slides copyright 2009 by Roger Pressman. 1
Chapter 3
 Agile Development
Slide Set to accompany
Software Engineering: A Practitioner’s Approach, 7/e
by Roger S. Pressman
Slides copyright © 1996, 2001, 2005, 2009 by Roger S. Pressman
For non-profit educational use only
May be reproduced ONLY for student use at the university level when used in conjunction
with Software Engineering: A Practitioner's Approach, 7/e. Any other reproduction or use is
prohibited without the express written permission of the author.
All copyright information MUST appear if these slides are posted on a website for student
use.
These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e
(McGraw-Hill, 2009) Slides copyright 2009 by Roger Pressman. 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
These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e
(McGraw-Hill, 2009) Slides copyright 2009 by Roger Pressman. 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
These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e
(McGraw-Hill, 2009) Slides copyright 2009 by Roger Pressman. 4
Agility and the Cost of Change
These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e
(McGraw-Hill, 2009) Slides copyright 2009 by Roger Pressman. 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
These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e
(McGraw-Hill, 2009) Slides copyright 2009 by Roger Pressman. 6
Agility Principles - I
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.
These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e
(McGraw-Hill, 2009) Slides copyright 2009 by Roger Pressman. 7
Agility Principles - II
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.
These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e
(McGraw-Hill, 2009) Slides copyright 2009 by Roger Pressman. 8
Human Factors
 the process molds to the needs of the people
and team, not the other way around
 key traits must exist among the people on an
agile team and the team itself:
 Competence.
 Common focus.
 Collaboration.
 Decision-making ability.
 Fuzzy problem-solving ability.
 Mutual trust and respect.
 Self-organization.
These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e
(McGraw-Hill, 2009) Slides copyright 2009 by Roger Pressman. 9
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
These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e
(McGraw-Hill, 2009) Slides copyright 2009 by Roger Pressman. 10
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
These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e
(McGraw-Hill, 2009) Slides copyright 2009 by Roger Pressman. 11
Extreme Programming (XP)
These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e
(McGraw-Hill, 2009) Slides copyright 2009 by Roger Pressman. 12
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
These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e
(McGraw-Hill, 2009) Slides copyright 2009 by Roger Pressman. 13
Adaptive Software Development
These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e
(McGraw-Hill, 2009) Slides copyright 2009 by Roger Pressman. 14
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.
These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e
(McGraw-Hill, 2009) Slides copyright 2009 by Roger Pressman. 15
Dynamic Systems Development Method
DSDM Life Cycle (with permission of the DSDM consortium)
These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e
(McGraw-Hill, 2009) Slides copyright 2009 by Roger Pressman. 16
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
These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e
(McGraw-Hill, 2009) Slides copyright 2009 by Roger Pressman. 17
Scrum
These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e
(McGraw-Hill, 2009) Slides copyright 2009 by Roger Pressman. 18
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
These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e
(McGraw-Hill, 2009) Slides copyright 2009 by Roger Pressman. 19
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
These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e
(McGraw-Hill, 2009) Slides copyright 2009 by Roger Pressman. 20
Feature Driven Development
Reprinted with permission of Peter Coad
These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e
(McGraw-Hill, 2009) Slides copyright 2009 by Roger Pressman. 21
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

PPT
SE CHAPTER 1 SOFTWARE ENGINEERING
Abrar ali
 
PPT
5- Requirement.ppt
ssusera1c25a
 
PPT
Chapter 08
guru3188
 
PPT
Project Management Concepts
Saqib Raza
 
PPTX
ch3.pptx
AliAkbar99386
 
PPT
SE CHAPTER 2 PROCESS MODELS
Abrar ali
 
PDF
Ch01 SE
mahirazainab
 
PPTX
estimation-for-software-projects-chapter-26-ppt.pptx
ubaidullah75790
 
SE CHAPTER 1 SOFTWARE ENGINEERING
Abrar ali
 
5- Requirement.ppt
ssusera1c25a
 
Chapter 08
guru3188
 
Project Management Concepts
Saqib Raza
 
ch3.pptx
AliAkbar99386
 
SE CHAPTER 2 PROCESS MODELS
Abrar ali
 
Ch01 SE
mahirazainab
 
estimation-for-software-projects-chapter-26-ppt.pptx
ubaidullah75790
 

What's hot (20)

PPT
Chapter 01 software engineering pressman
RohitGoyal183
 
PDF
Design and Implementation in Software Engineering
Kourosh Sajjadi
 
PPT
Unit iii(part c - user interface design)
BALAJI A
 
PPTX
Software Engineering Process Models
Satya P. Joshi
 
PPT
Software Testing Strategies
NayyabMirTahir
 
PPTX
Prototyping model
Shirley Jenifer Joseph
 
PPT
DSDM
Bilal Shah
 
PPT
Chapter_04.ppt
oluobes
 
PPTX
Lecture 02 Software Process Model
Achmad Solichin
 
PPT
TESTING STRATEGY.ppt
FawazHussain4
 
PPTX
Chapter_07.pptx
FauzanIshlakhuddin1
 
PPT
Unit iii(part b - architectural design)
BALAJI A
 
PPT
Slides chapters 26-27
Priyanka Shetty
 
PPTX
Ch3-Software Engineering 9
Ian Sommerville
 
PPT
Process models
Student
 
PPT
Ian Sommerville, Software Engineering, 9th EditionCh 8
Mohammed Romi
 
ODP
Evolutionary process models se.ppt
bhadjaashvini1
 
PPTX
Extreme Programming
pearlcatcharro
 
PPTX
Software process
Jennifer Polack
 
PPT
Software Engineering (Introduction to Software Engineering)
ShudipPal
 
Chapter 01 software engineering pressman
RohitGoyal183
 
Design and Implementation in Software Engineering
Kourosh Sajjadi
 
Unit iii(part c - user interface design)
BALAJI A
 
Software Engineering Process Models
Satya P. Joshi
 
Software Testing Strategies
NayyabMirTahir
 
Prototyping model
Shirley Jenifer Joseph
 
Chapter_04.ppt
oluobes
 
Lecture 02 Software Process Model
Achmad Solichin
 
TESTING STRATEGY.ppt
FawazHussain4
 
Chapter_07.pptx
FauzanIshlakhuddin1
 
Unit iii(part b - architectural design)
BALAJI A
 
Slides chapters 26-27
Priyanka Shetty
 
Ch3-Software Engineering 9
Ian Sommerville
 
Process models
Student
 
Ian Sommerville, Software Engineering, 9th EditionCh 8
Mohammed Romi
 
Evolutionary process models se.ppt
bhadjaashvini1
 
Extreme Programming
pearlcatcharro
 
Software process
Jennifer Polack
 
Software Engineering (Introduction to Software Engineering)
ShudipPal
 
Ad

Similar to Chapter 03 (20)

PPT
Chapter_03_of_software_engineering_book.ppt
WaseemAkram110179
 
PPT
Lecture note 2 on software engineering and development
BashirAbbayaro
 
PPTX
Software Engineering Chapter-3 Process Models
mkrishnamurty1
 
PPT
Chapter_03sp1718.ppt agile development of software
hishah1
 
PPT
Chapter_03.ppt
oluobes
 
PDF
Agile Development software engineering process model
GovadaDhana
 
PDF
4. Agile Development in the course of advanced SEPM
stuti8985
 
PPT
software engineering notes for msc stude
DharaniMani4
 
PPT
Week_03-Agile Developmnet.ppt
RedHeart11
 
PPT
Agile Methodology-extreme programming-23.07.2020.ppt
PerumalPitchandi
 
PPTX
Chapter 5
TehreemSaleem5
 
PPT
chapter-03-Agile view of process.ppt
NakulP3
 
PPT
Software Engineering (An Agile View of Process)
ShudipPal
 
PPT
Principles of guide practices for project
prasad673040
 
PPT
Chapter_04_of_Software_engineering_book.ppt
WaseemAkram110179
 
PPT
Process models (generic models, Agile models)
prasad673040
 
PPT
Chapter_02_of_slides_of_software_engineering_book.ppt
WaseemAkram110179
 
PPT
Software Engineering Powerpoint slides for guide
l226207
 
PPTX
Software development with agile methodologies
Elmozamil Elamir
 
Chapter_03_of_software_engineering_book.ppt
WaseemAkram110179
 
Lecture note 2 on software engineering and development
BashirAbbayaro
 
Software Engineering Chapter-3 Process Models
mkrishnamurty1
 
Chapter_03sp1718.ppt agile development of software
hishah1
 
Chapter_03.ppt
oluobes
 
Agile Development software engineering process model
GovadaDhana
 
4. Agile Development in the course of advanced SEPM
stuti8985
 
software engineering notes for msc stude
DharaniMani4
 
Week_03-Agile Developmnet.ppt
RedHeart11
 
Agile Methodology-extreme programming-23.07.2020.ppt
PerumalPitchandi
 
Chapter 5
TehreemSaleem5
 
chapter-03-Agile view of process.ppt
NakulP3
 
Software Engineering (An Agile View of Process)
ShudipPal
 
Principles of guide practices for project
prasad673040
 
Chapter_04_of_Software_engineering_book.ppt
WaseemAkram110179
 
Process models (generic models, Agile models)
prasad673040
 
Chapter_02_of_slides_of_software_engineering_book.ppt
WaseemAkram110179
 
Software Engineering Powerpoint slides for guide
l226207
 
Software development with agile methodologies
Elmozamil Elamir
 
Ad

Recently uploaded (20)

PPTX
Role Of Python In Programing Language.pptx
jaykoshti048
 
PPTX
Presentation of Computer CLASS 2 .pptx
darshilchaudhary558
 
PDF
Key Features to Look for in Arizona App Development Services
Net-Craft.com
 
PPTX
PFAS Reporting Requirements 2026 Are You Submission Ready Certivo.pptx
Certivo Inc
 
PPTX
AI-Ready Handoff: Auto-Summaries & Draft Emails from MQL to Slack in One Flow
bbedford2
 
PDF
Solar Panel Installation Guide – Step By Step Process 2025.pdf
CRMLeaf
 
PDF
Community & News Update Q2 Meet Up 2025
VictoriaMetrics
 
PPTX
ConcordeApp: Engineering Global Impact & Unlocking Billions in Event ROI with AI
chastechaste14
 
PDF
Microsoft Teams Essentials; The pricing and the versions_PDF.pdf
Q-Advise
 
PDF
Multi-factor Authentication (MFA) requirement for Microsoft 365 Admin Center_...
Q-Advise
 
PDF
Why Use Open Source Reporting Tools for Business Intelligence.pdf
Varsha Nayak
 
PDF
On Software Engineers' Productivity - Beyond Misleading Metrics
Romén Rodríguez-Gil
 
PDF
PFAS Reporting Requirements 2026 Are You Submission Ready Certivo.pdf
Certivo Inc
 
PPTX
slidesgo-unlocking-the-code-the-dynamic-dance-of-variables-and-constants-2024...
kr2589474
 
PPTX
Web Testing.pptx528278vshbuqffqhhqiwnwuq
studylike474
 
PPTX
Presentation about variables and constant.pptx
kr2589474
 
PDF
Exploring AI Agents in Process Industries
amoreira6
 
PDF
Jenkins: An open-source automation server powering CI/CD Automation
SaikatBasu37
 
PPTX
Explanation about Structures in C language.pptx
Veeral Rathod
 
PDF
The Role of Automation and AI in EHS Management for Data Centers.pdf
TECH EHS Solution
 
Role Of Python In Programing Language.pptx
jaykoshti048
 
Presentation of Computer CLASS 2 .pptx
darshilchaudhary558
 
Key Features to Look for in Arizona App Development Services
Net-Craft.com
 
PFAS Reporting Requirements 2026 Are You Submission Ready Certivo.pptx
Certivo Inc
 
AI-Ready Handoff: Auto-Summaries & Draft Emails from MQL to Slack in One Flow
bbedford2
 
Solar Panel Installation Guide – Step By Step Process 2025.pdf
CRMLeaf
 
Community & News Update Q2 Meet Up 2025
VictoriaMetrics
 
ConcordeApp: Engineering Global Impact & Unlocking Billions in Event ROI with AI
chastechaste14
 
Microsoft Teams Essentials; The pricing and the versions_PDF.pdf
Q-Advise
 
Multi-factor Authentication (MFA) requirement for Microsoft 365 Admin Center_...
Q-Advise
 
Why Use Open Source Reporting Tools for Business Intelligence.pdf
Varsha Nayak
 
On Software Engineers' Productivity - Beyond Misleading Metrics
Romén Rodríguez-Gil
 
PFAS Reporting Requirements 2026 Are You Submission Ready Certivo.pdf
Certivo Inc
 
slidesgo-unlocking-the-code-the-dynamic-dance-of-variables-and-constants-2024...
kr2589474
 
Web Testing.pptx528278vshbuqffqhhqiwnwuq
studylike474
 
Presentation about variables and constant.pptx
kr2589474
 
Exploring AI Agents in Process Industries
amoreira6
 
Jenkins: An open-source automation server powering CI/CD Automation
SaikatBasu37
 
Explanation about Structures in C language.pptx
Veeral Rathod
 
The Role of Automation and AI in EHS Management for Data Centers.pdf
TECH EHS Solution
 

Chapter 03

  • 1. These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill, 2009) Slides copyright 2009 by Roger Pressman. 1 Chapter 3  Agile Development Slide Set to accompany Software Engineering: A Practitioner’s Approach, 7/e by Roger S. Pressman Slides copyright © 1996, 2001, 2005, 2009 by Roger S. Pressman For non-profit educational use only May be reproduced ONLY for student use at the university level when used in conjunction with Software Engineering: A Practitioner's Approach, 7/e. Any other reproduction or use is prohibited without the express written permission of the author. All copyright information MUST appear if these slides are posted on a website for student use.
  • 2. These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill, 2009) Slides copyright 2009 by Roger Pressman. 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. These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill, 2009) Slides copyright 2009 by Roger Pressman. 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. These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill, 2009) Slides copyright 2009 by Roger Pressman. 4 Agility and the Cost of Change
  • 5. These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill, 2009) Slides copyright 2009 by Roger Pressman. 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
  • 6. These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill, 2009) Slides copyright 2009 by Roger Pressman. 6 Agility Principles - I 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.
  • 7. These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill, 2009) Slides copyright 2009 by Roger Pressman. 7 Agility Principles - II 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.
  • 8. These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill, 2009) Slides copyright 2009 by Roger Pressman. 8 Human Factors  the process molds to the needs of the people and team, not the other way around  key traits must exist among the people on an agile team and the team itself:  Competence.  Common focus.  Collaboration.  Decision-making ability.  Fuzzy problem-solving ability.  Mutual trust and respect.  Self-organization.
  • 9. These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill, 2009) Slides copyright 2009 by Roger Pressman. 9 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
  • 10. These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill, 2009) Slides copyright 2009 by Roger Pressman. 10 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
  • 11. These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill, 2009) Slides copyright 2009 by Roger Pressman. 11 Extreme Programming (XP)
  • 12. These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill, 2009) Slides copyright 2009 by Roger Pressman. 12 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
  • 13. These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill, 2009) Slides copyright 2009 by Roger Pressman. 13 Adaptive Software Development
  • 14. These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill, 2009) Slides copyright 2009 by Roger Pressman. 14 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.
  • 15. These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill, 2009) Slides copyright 2009 by Roger Pressman. 15 Dynamic Systems Development Method DSDM Life Cycle (with permission of the DSDM consortium)
  • 16. These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill, 2009) Slides copyright 2009 by Roger Pressman. 16 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
  • 17. These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill, 2009) Slides copyright 2009 by Roger Pressman. 17 Scrum
  • 18. These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill, 2009) Slides copyright 2009 by Roger Pressman. 18 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
  • 19. These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill, 2009) Slides copyright 2009 by Roger Pressman. 19 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
  • 20. These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill, 2009) Slides copyright 2009 by Roger Pressman. 20 Feature Driven Development Reprinted with permission of Peter Coad
  • 21. These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill, 2009) Slides copyright 2009 by Roger Pressman. 21 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