SlideShare a Scribd company logo
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and
are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 1
Software Engineering: A Practitioner’s Approach, 6/e
Software Engineering: A Practitioner’s Approach, 6/e
Chapter 4
Chapter 4
Agile Development
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.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and
are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 2
The Manifesto for
The Manifesto for
Agile Software Development
Agile Software Development
“
“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
That is, while there is value in the items on the
That is, while there is value in the items on the
right, we value the items on the left more.”
right, we value the items on the left more.”
Kent Beck et al
Kent Beck et al
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and
are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 3
What is “Agility”?
What is “Agility”?
 Effective (rapid and adaptive) response to change
Effective (rapid and adaptive) response to change
 Effective communication among all stakeholders
Effective communication among all stakeholders
 Drawing the customer onto the team
Drawing the customer onto the team
 Organizing a team so that it is in control of the
Organizing a team so that it is in control of the
work performed
work performed
Yielding …
Yielding …
 Rapid, incremental delivery of software
Rapid, incremental delivery of software
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and
are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 4
An Agile Process
An Agile Process
 Is driven by customer descriptions of what is
Is driven by customer descriptions of what is
required (scenarios)
required (scenarios)
 Recognizes that plans are short-lived
Recognizes that plans are short-lived
 Develops software iteratively with a heavy
Develops software iteratively with a heavy
emphasis on construction activities
emphasis on construction activities
 Delivers multiple ‘software increments’
Delivers multiple ‘software increments’
 Adapts as changes occur
Adapts as changes occur
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and
are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 5
Extreme Programming (XP)
Extreme Programming (XP)
 The most widely used agile process, originally proposed
The most widely used agile process, originally proposed
by Kent Beck
by Kent Beck
 XP Planning
XP Planning
 Begins with the creation of “
Begins with the creation of “user stories
user stories”
”
 Agile team assesses each story and assigns a
Agile team assesses each story and assigns a cost
cost
 Stories are grouped to for a
Stories are grouped to for a deliverable increment
deliverable increment
 A
A commitment
commitment is made on delivery date
is made on delivery date
 After the first increment “
After the first increment “project velocity
project velocity” is used to help define
” is used to help define
subsequent delivery dates for other increments
subsequent delivery dates for other increments
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and
are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 6
Extreme Programming (XP)
Extreme Programming (XP)
 XP Design
XP Design
 Follows the
Follows the KIS principle
KIS principle
 Encourage the use of
Encourage the use of CRC cards
CRC cards (see Chapter 8)
(see Chapter 8)
 For difficult design problems, suggests the creation of “
For difficult design problems, suggests the creation of “spike solutions
spike solutions”—a design
”—a design
prototype
prototype
 Encourages “
Encourages “refactoring
refactoring”—an iterative refinement of the internal program design
”—an iterative refinement of the internal program design
 XP Coding
XP Coding
 Recommends the
Recommends the construction of a unit test
construction of a unit test for a store
for a store before
before coding commences
coding commences
 Encourages “
Encourages “pair programming
pair programming”
”
 XP Testing
XP Testing
 All
All unit tests are executed daily
unit tests are executed daily
 “
“Acceptance tests”
Acceptance tests” are defined by the customer and excuted to assess customer
are defined by the customer and excuted to assess customer
visible functionality
visible functionality
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and
are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 7
Extreme Programming (XP)
Extreme Programming (XP)
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
softw
areincrem
ent
project velocity com
puted
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and
are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 8
Adaptive Software Development
Adaptive Software Development
 Originally proposed by Jim Highsmith
Originally proposed by Jim Highsmith
 ASD — distinguishing features
ASD — distinguishing features
 Mission-driven
Mission-driven planning
planning
 Component-based focus
Component-based focus
 Uses “
Uses “time-boxing
time-boxing” (See Chapter 24)
” (See Chapter 24)
 Explicit consideration of
Explicit consideration of risks
risks
 Emphasizes
Emphasizes collaboration
collaboration for requirements gathering
for requirements gathering
 Emphasizes “
Emphasizes “learning
learning” throughout the process
” throughout the process
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and
are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 9
Adaptive Software Development
Adaptive Software Development
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
softw
areincrem
ent
adjustm
entsforsubsequent cycles
Release
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and
are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 10
Dynamic Systems Development Method
Dynamic Systems Development Method
 Promoted by the DSDM Consortium (
Promoted by the DSDM Consortium (www.dsdm.org
www.dsdm.org)
)
 DSDM—distinguishing features
DSDM—distinguishing features
 Similar in most respects to XP and/or ASD
Similar in most respects to XP and/or ASD
 Nine guiding principles
Nine guiding principles
 Active user involvement is imperative.
Active user involvement is imperative.
 DSDM teams must be empowered to make decisions.
DSDM teams must be empowered to make decisions.
 The focus is on frequent delivery of products.
The focus is on frequent delivery of products.
 Fitness for business purpose is the essential criterion for acceptance of deliverables.
Fitness for business purpose is the essential criterion for acceptance of deliverables.
 Iterative and incremental development is necessary to converge on an accurate
Iterative and incremental development is necessary to converge on an accurate
business solution.
business solution.
 All changes during development are reversible.
All changes during development are reversible.
 Requirements are baselined at a high level
Requirements are baselined at a high level
 Testing is integrated throughout the life-cycle.
Testing is integrated throughout the life-cycle.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and
are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 11
Dynamic Systems Development Method
Dynamic Systems Development Method
DSDM Life Cycle (with permission of the DSDM consortium)
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and
are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 12
Scrum
Scrum
 Originally proposed by Schwaber and Beedle
Originally proposed by Schwaber and Beedle
 Scrum—distinguishing features
Scrum—distinguishing features
 Development work is partitioned into “
Development work is partitioned into “packets
packets”
”
 Testing and documentation are on-going
Testing and documentation are on-going as the product is
as the product is
constructed
constructed
 Work occurs in “
Work occurs in “sprints
sprints” and is derived from a “
” and is derived from a “backlog
backlog” of
” of
existing requirements
existing requirements
 Meetings are very short
Meetings are very short and sometimes conducted without
and sometimes conducted without
chairs
chairs
 “
“demos
demos” are delivered to the customer with the time-box
” are delivered to the customer with the time-box
allocated
allocated
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and
are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 13
Scrum
Scrum
ScrumProcessFlow(usedw
ithperm
ission)
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and
are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 14
Crystal
Crystal
 Proposed by Cockburn and Highsmith
Proposed by Cockburn and Highsmith
 Crystal—distinguishing features
Crystal—distinguishing features
 Actually a
Actually a family of process models
family of process models that allow
that allow
“
“maneuverability
maneuverability” based on problem characteristics
” based on problem characteristics
 Face-to-face communication
Face-to-face communication is emphasized
is emphasized
 Suggests the use of “
Suggests the use of “reflection workshops
reflection workshops” to review the
” to review the
work habits of the team
work habits of the team
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and
are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 15
Feature Driven Development
Feature Driven Development
 Originally proposed by Peter Coad et al
Originally proposed by Peter Coad et al
 FDD—distinguishing features
FDD—distinguishing features
 Emphasis is on defining
Emphasis is on defining “features”
“features”
 a
a feature
feature “is a client-valued function that can be implemented in
“is a client-valued function that can be implemented in
two weeks or less.”
two weeks or less.”
 Uses a
Uses a feature template
feature template
 <action> the <result> <by | for | of | to> a(n) <object>
<action> the <result> <by | for | of | to> a(n) <object>
 A
A features list
features list is created and “
is created and “plan by feature
plan by feature” is conducted
” is conducted
 Design and construction merge in FDD
Design and construction merge in FDD
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and
are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 16
Feature Driven Development
Feature Driven Development
Reprinted with permission of Peter Coad
Reprinted with permission of Peter Coad
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and
are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 17
Agile Modeling
Agile Modeling
 Originally proposed by Scott Ambler
Originally proposed by Scott Ambler
 Suggests a set of agile modeling principles
Suggests a set of agile modeling principles
 Model with a purpose
Model with a purpose
 Use multiple models
Use multiple models
 Travel light
Travel light
 Content is more important than representation
Content is more important than representation
 Know the models and the tools you use to create them
Know the models and the tools you use to create them
 Adapt locally
Adapt locally

More Related Content

PPT
Ch04 agile development models
PPTX
ch3.pptx
PPT
Chapter_03_of_software_engineering_book.ppt
PPT
Lecture note 2 on software engineering and development
PPTX
Software Engineering Chapter-3 Process Models
PPT
Chapter 03
PPT
Chapter_03sp1718.ppt agile development of software
Ch04 agile development models
ch3.pptx
Chapter_03_of_software_engineering_book.ppt
Lecture note 2 on software engineering and development
Software Engineering Chapter-3 Process Models
Chapter 03
Chapter_03sp1718.ppt agile development of software

Similar to software engineering notes for msc stude (20)

PPT
Week_03-Agile Developmnet.ppt
PPTX
Agile process model and its types contains.pptx
PPT
Chapter_03.ppt
PPTX
03 fse agiledevelopment
PPT
Software Engineering (An Agile View of Process)
PDF
Agile Development software engineering process model
PDF
4. Agile Development in the course of advanced SEPM
PPT
chapter-03-Agile view of process.ppt
PPTX
Chapter 5
PPT
3. Agility and extreme programming OF UNIT-1 PPT
PPT
SE chapter 4
PPT
Chapter 3 - Agile Software Development.ppt
PPTX
Agile-Software-Development in SAP ERP.pptx
PPTX
7.agila model
PPTX
Agile software process
PPT
lecture24.ppt
PPTX
Agile Overview Session
PPT
SE Lecture 3.ppt
PDF
ch2-Agile-Software-Development-engineerning.pdf
PPTX
Agile is a flexible and iterative approach to software development that empha...
Week_03-Agile Developmnet.ppt
Agile process model and its types contains.pptx
Chapter_03.ppt
03 fse agiledevelopment
Software Engineering (An Agile View of Process)
Agile Development software engineering process model
4. Agile Development in the course of advanced SEPM
chapter-03-Agile view of process.ppt
Chapter 5
3. Agility and extreme programming OF UNIT-1 PPT
SE chapter 4
Chapter 3 - Agile Software Development.ppt
Agile-Software-Development in SAP ERP.pptx
7.agila model
Agile software process
lecture24.ppt
Agile Overview Session
SE Lecture 3.ppt
ch2-Agile-Software-Development-engineerning.pdf
Agile is a flexible and iterative approach to software development that empha...
Ad

More from DharaniMani4 (16)

PPT
PR-Ch03.pptfdhfdhfgdhgfuyrtugfhghgfjfgjg
PPT
lecture8-190719030939.ppthjtyuiytiytiyti
PPTX
cocomo-220726173706-141e08f0.tyuiuuupptx
PPT
3 01032017tyuiryhjrhyureyhjkfdhghfrugjhf
PPT
unit-3bda-230421082621-d2b7d921.ppthjghh
PDF
threads-unit 1.pdf notes for ug students
PPT
Data Modeling Using the Entity-Relations
PPTX
NOSQL IN BIGDATA FOR PG STUDENTS FOR COL
PPT
SOFTWARE DEVELOPMENT LIFE CYCLE FOR PG S
PPT
04-struct-union for ug students for colg
PPT
simple notes for ug students for college
PPT
software engineering notes for msc stude
PPTX
bigdata introduction for students pg msc
PPTX
bigdata- Introduction for pg students fo
PPTX
Database management systems for students
PPTX
open source technologies notes for stude
PR-Ch03.pptfdhfdhfgdhgfuyrtugfhghgfjfgjg
lecture8-190719030939.ppthjtyuiytiytiyti
cocomo-220726173706-141e08f0.tyuiuuupptx
3 01032017tyuiryhjrhyureyhjkfdhghfrugjhf
unit-3bda-230421082621-d2b7d921.ppthjghh
threads-unit 1.pdf notes for ug students
Data Modeling Using the Entity-Relations
NOSQL IN BIGDATA FOR PG STUDENTS FOR COL
SOFTWARE DEVELOPMENT LIFE CYCLE FOR PG S
04-struct-union for ug students for colg
simple notes for ug students for college
software engineering notes for msc stude
bigdata introduction for students pg msc
bigdata- Introduction for pg students fo
Database management systems for students
open source technologies notes for stude
Ad

Recently uploaded (20)

PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PPT
Teaching material agriculture food technology
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
KodekX | Application Modernization Development
PPTX
Cloud computing and distributed systems.
PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PDF
Empathic Computing: Creating Shared Understanding
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PDF
Approach and Philosophy of On baking technology
PDF
Encapsulation theory and applications.pdf
PPTX
MYSQL Presentation for SQL database connectivity
PDF
Network Security Unit 5.pdf for BCA BBA.
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
20250228 LYD VKU AI Blended-Learning.pptx
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Building Integrated photovoltaic BIPV_UPV.pdf
Teaching material agriculture food technology
Advanced methodologies resolving dimensionality complications for autism neur...
KodekX | Application Modernization Development
Cloud computing and distributed systems.
Encapsulation_ Review paper, used for researhc scholars
The Rise and Fall of 3GPP – Time for a Sabbatical?
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
Empathic Computing: Creating Shared Understanding
Mobile App Security Testing_ A Comprehensive Guide.pdf
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
Approach and Philosophy of On baking technology
Encapsulation theory and applications.pdf
MYSQL Presentation for SQL database connectivity
Network Security Unit 5.pdf for BCA BBA.
Chapter 3 Spatial Domain Image Processing.pdf
Digital-Transformation-Roadmap-for-Companies.pptx

software engineering notes for msc stude

  • 1. These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 1 Software Engineering: A Practitioner’s Approach, 6/e Software Engineering: A Practitioner’s Approach, 6/e Chapter 4 Chapter 4 Agile Development 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. These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 2 The Manifesto for The Manifesto for Agile Software Development Agile Software Development “ “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 That is, while there is value in the items on the That is, while there is value in the items on the right, we value the items on the left more.” right, we value the items on the left more.” Kent Beck et al Kent Beck et al
  • 3. These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 3 What is “Agility”? What is “Agility”?  Effective (rapid and adaptive) response to change Effective (rapid and adaptive) response to change  Effective communication among all stakeholders Effective communication among all stakeholders  Drawing the customer onto the team Drawing the customer onto the team  Organizing a team so that it is in control of the Organizing a team so that it is in control of the work performed work performed Yielding … Yielding …  Rapid, incremental delivery of software Rapid, incremental delivery of software
  • 4. These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 4 An Agile Process An Agile Process  Is driven by customer descriptions of what is Is driven by customer descriptions of what is required (scenarios) required (scenarios)  Recognizes that plans are short-lived Recognizes that plans are short-lived  Develops software iteratively with a heavy Develops software iteratively with a heavy emphasis on construction activities emphasis on construction activities  Delivers multiple ‘software increments’ Delivers multiple ‘software increments’  Adapts as changes occur Adapts as changes occur
  • 5. These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 5 Extreme Programming (XP) Extreme Programming (XP)  The most widely used agile process, originally proposed The most widely used agile process, originally proposed by Kent Beck by Kent Beck  XP Planning XP Planning  Begins with the creation of “ Begins with the creation of “user stories user stories” ”  Agile team assesses each story and assigns a Agile team assesses each story and assigns a cost cost  Stories are grouped to for a Stories are grouped to for a deliverable increment deliverable increment  A A commitment commitment is made on delivery date is made on delivery date  After the first increment “ After the first increment “project velocity project velocity” is used to help define ” is used to help define subsequent delivery dates for other increments subsequent delivery dates for other increments
  • 6. These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 6 Extreme Programming (XP) Extreme Programming (XP)  XP Design XP Design  Follows the Follows the KIS principle KIS principle  Encourage the use of Encourage the use of CRC cards CRC cards (see Chapter 8) (see Chapter 8)  For difficult design problems, suggests the creation of “ For difficult design problems, suggests the creation of “spike solutions spike solutions”—a design ”—a design prototype prototype  Encourages “ Encourages “refactoring refactoring”—an iterative refinement of the internal program design ”—an iterative refinement of the internal program design  XP Coding XP Coding  Recommends the Recommends the construction of a unit test construction of a unit test for a store for a store before before coding commences coding commences  Encourages “ Encourages “pair programming pair programming” ”  XP Testing XP Testing  All All unit tests are executed daily unit tests are executed daily  “ “Acceptance tests” Acceptance tests” are defined by the customer and excuted to assess customer are defined by the customer and excuted to assess customer visible functionality visible functionality
  • 7. These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 7 Extreme Programming (XP) Extreme Programming (XP) 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 softw areincrem ent project velocity com puted
  • 8. These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 8 Adaptive Software Development Adaptive Software Development  Originally proposed by Jim Highsmith Originally proposed by Jim Highsmith  ASD — distinguishing features ASD — distinguishing features  Mission-driven Mission-driven planning planning  Component-based focus Component-based focus  Uses “ Uses “time-boxing time-boxing” (See Chapter 24) ” (See Chapter 24)  Explicit consideration of Explicit consideration of risks risks  Emphasizes Emphasizes collaboration collaboration for requirements gathering for requirements gathering  Emphasizes “ Emphasizes “learning learning” throughout the process ” throughout the process
  • 9. These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 9 Adaptive Software Development Adaptive Software Development 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 softw areincrem ent adjustm entsforsubsequent cycles Release
  • 10. These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 10 Dynamic Systems Development Method Dynamic Systems Development Method  Promoted by the DSDM Consortium ( Promoted by the DSDM Consortium (www.dsdm.org www.dsdm.org) )  DSDM—distinguishing features DSDM—distinguishing features  Similar in most respects to XP and/or ASD Similar in most respects to XP and/or ASD  Nine guiding principles Nine guiding principles  Active user involvement is imperative. Active user involvement is imperative.  DSDM teams must be empowered to make decisions. DSDM teams must be empowered to make decisions.  The focus is on frequent delivery of products. The focus is on frequent delivery of products.  Fitness for business purpose is the essential criterion for acceptance of deliverables. Fitness for business purpose is the essential criterion for acceptance of deliverables.  Iterative and incremental development is necessary to converge on an accurate Iterative and incremental development is necessary to converge on an accurate business solution. business solution.  All changes during development are reversible. All changes during development are reversible.  Requirements are baselined at a high level Requirements are baselined at a high level  Testing is integrated throughout the life-cycle. Testing is integrated throughout the life-cycle.
  • 11. These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 11 Dynamic Systems Development Method Dynamic Systems Development Method DSDM Life Cycle (with permission of the DSDM consortium)
  • 12. These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 12 Scrum Scrum  Originally proposed by Schwaber and Beedle Originally proposed by Schwaber and Beedle  Scrum—distinguishing features Scrum—distinguishing features  Development work is partitioned into “ Development work is partitioned into “packets packets” ”  Testing and documentation are on-going Testing and documentation are on-going as the product is as the product is constructed constructed  Work occurs in “ Work occurs in “sprints sprints” and is derived from a “ ” and is derived from a “backlog backlog” of ” of existing requirements existing requirements  Meetings are very short Meetings are very short and sometimes conducted without and sometimes conducted without chairs chairs  “ “demos demos” are delivered to the customer with the time-box ” are delivered to the customer with the time-box allocated allocated
  • 13. These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 13 Scrum Scrum ScrumProcessFlow(usedw ithperm ission)
  • 14. These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 14 Crystal Crystal  Proposed by Cockburn and Highsmith Proposed by Cockburn and Highsmith  Crystal—distinguishing features Crystal—distinguishing features  Actually a Actually a family of process models family of process models that allow that allow “ “maneuverability maneuverability” based on problem characteristics ” based on problem characteristics  Face-to-face communication Face-to-face communication is emphasized is emphasized  Suggests the use of “ Suggests the use of “reflection workshops reflection workshops” to review the ” to review the work habits of the team work habits of the team
  • 15. These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 15 Feature Driven Development Feature Driven Development  Originally proposed by Peter Coad et al Originally proposed by Peter Coad et al  FDD—distinguishing features FDD—distinguishing features  Emphasis is on defining Emphasis is on defining “features” “features”  a a feature feature “is a client-valued function that can be implemented in “is a client-valued function that can be implemented in two weeks or less.” two weeks or less.”  Uses a Uses a feature template feature template  <action> the <result> <by | for | of | to> a(n) <object> <action> the <result> <by | for | of | to> a(n) <object>  A A features list features list is created and “ is created and “plan by feature plan by feature” is conducted ” is conducted  Design and construction merge in FDD Design and construction merge in FDD
  • 16. These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 16 Feature Driven Development Feature Driven Development Reprinted with permission of Peter Coad Reprinted with permission of Peter Coad
  • 17. These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 17 Agile Modeling Agile Modeling  Originally proposed by Scott Ambler Originally proposed by Scott Ambler  Suggests a set of agile modeling principles Suggests a set of agile modeling principles  Model with a purpose Model with a purpose  Use multiple models Use multiple models  Travel light Travel light  Content is more important than representation Content is more important than representation  Know the models and the tools you use to create them Know the models and the tools you use to create them  Adapt locally Adapt locally