SlideShare a Scribd company logo
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
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 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
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
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)
unit test
continuous integration
acceptance testing
pair
programming
Release
user stories
values
acceptance test criteria
iterationplan
simple design
CRC cards
spike solutions
prototypes
refactoring
softwareincrem
ent
projectvelocity com
puted
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
adaptive cycle planning
uses mission statement
project constraints
basic requirements
time-boxed release plan
Requirements gathering
JAD
mini-specs
components implemented/tested
focus groups for feedback
formal technical reviews
postmortems
softwareincrem
ent
adjustm
entsforsubsequent cycles
Release
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
ScrumProcessFlow(usedwithperm
ission)
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
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

PPTX
ch3.pptx
PPT
Chapter 03
PPTX
Software Engineering Chapter-3 Process Models
PPT
Chapter_03sp1718.ppt agile development of software
PDF
Agile Development software engineering process model
PPT
Chapter_03.ppt
PPTX
Agile process model and its types contains.pptx
PPT
Project Management Concepts
ch3.pptx
Chapter 03
Software Engineering Chapter-3 Process Models
Chapter_03sp1718.ppt agile development of software
Agile Development software engineering process model
Chapter_03.ppt
Agile process model and its types contains.pptx
Project Management Concepts

Similar to Chapter_03_of_software_engineering_book.ppt (20)

PPT
SE CHAPTER 2 PROCESS MODELS
PPT
Effective Software Process The Software Quality Dilemma
PPT
Agile Methodology-extreme programming-23.07.2020.ppt
PPT
20_Metricsresearchmolodology Metricsresearchmolodology Metricsresearchmolodol...
PPT
Chapter_25.ppt
PDF
4. Agile Development in the course of advanced SEPM
PPT
Chapter_01_of_slides_of_software_engineering_book.ppt
PPT
Process models
PPT
SOFTWAER ENGINEERING PROCESS MODELSChapter_02.ppt
PPT
Process models (generic models, Agile models)
PPT
Chapter_02_of_slides_of_software_engineering_book.ppt
PPT
Software Engineering
PPT
Chapter 01 software engineering pressman
PPT
SE CHAPTER 1 SOFTWARE ENGINEERING
PPT
PPT-UEU-Rekayasa-Perangkat-Lunak-Pertemuan-1.ppt
PPT
Software Engineering Powerpoint slides for guide
PPT
TESTING STRATEGY.ppt
PPTX
Software Engineering Chapter-1 Basic Concepts
PPT
Chapter_14 sp1718.ppt
PPT
Software Testing Strategies
SE CHAPTER 2 PROCESS MODELS
Effective Software Process The Software Quality Dilemma
Agile Methodology-extreme programming-23.07.2020.ppt
20_Metricsresearchmolodology Metricsresearchmolodology Metricsresearchmolodol...
Chapter_25.ppt
4. Agile Development in the course of advanced SEPM
Chapter_01_of_slides_of_software_engineering_book.ppt
Process models
SOFTWAER ENGINEERING PROCESS MODELSChapter_02.ppt
Process models (generic models, Agile models)
Chapter_02_of_slides_of_software_engineering_book.ppt
Software Engineering
Chapter 01 software engineering pressman
SE CHAPTER 1 SOFTWARE ENGINEERING
PPT-UEU-Rekayasa-Perangkat-Lunak-Pertemuan-1.ppt
Software Engineering Powerpoint slides for guide
TESTING STRATEGY.ppt
Software Engineering Chapter-1 Basic Concepts
Chapter_14 sp1718.ppt
Software Testing Strategies
Ad

Recently uploaded (20)

PPTX
additive manufacturing of ss316l using mig welding
PPTX
IOT PPTs Week 10 Lecture Material.pptx of NPTEL Smart Cities contd
PPTX
OOP with Java - Java Introduction (Basics)
PPTX
Strings in CPP - Strings in C++ are sequences of characters used to store and...
PDF
Mohammad Mahdi Farshadian CV - Prospective PhD Student 2026
PDF
Digital Logic Computer Design lecture notes
PPTX
FINAL REVIEW FOR COPD DIANOSIS FOR PULMONARY DISEASE.pptx
PDF
Embodied AI: Ushering in the Next Era of Intelligent Systems
PPTX
MCN 401 KTU-2019-PPE KITS-MODULE 2.pptx
PDF
keyrequirementskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
PDF
The CXO Playbook 2025 – Future-Ready Strategies for C-Suite Leaders Cerebrai...
PPTX
Geodesy 1.pptx...............................................
PPTX
M Tech Sem 1 Civil Engineering Environmental Sciences.pptx
PPTX
Sustainable Sites - Green Building Construction
PDF
PRIZ Academy - 9 Windows Thinking Where to Invest Today to Win Tomorrow.pdf
PDF
PPT on Performance Review to get promotions
PPTX
web development for engineering and engineering
PDF
Arduino robotics embedded978-1-4302-3184-4.pdf
PDF
Mitigating Risks through Effective Management for Enhancing Organizational Pe...
DOCX
573137875-Attendance-Management-System-original
additive manufacturing of ss316l using mig welding
IOT PPTs Week 10 Lecture Material.pptx of NPTEL Smart Cities contd
OOP with Java - Java Introduction (Basics)
Strings in CPP - Strings in C++ are sequences of characters used to store and...
Mohammad Mahdi Farshadian CV - Prospective PhD Student 2026
Digital Logic Computer Design lecture notes
FINAL REVIEW FOR COPD DIANOSIS FOR PULMONARY DISEASE.pptx
Embodied AI: Ushering in the Next Era of Intelligent Systems
MCN 401 KTU-2019-PPE KITS-MODULE 2.pptx
keyrequirementskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
The CXO Playbook 2025 – Future-Ready Strategies for C-Suite Leaders Cerebrai...
Geodesy 1.pptx...............................................
M Tech Sem 1 Civil Engineering Environmental Sciences.pptx
Sustainable Sites - Green Building Construction
PRIZ Academy - 9 Windows Thinking Where to Invest Today to Win Tomorrow.pdf
PPT on Performance Review to get promotions
web development for engineering and engineering
Arduino robotics embedded978-1-4302-3184-4.pdf
Mitigating Risks through Effective Management for Enhancing Organizational Pe...
573137875-Attendance-Management-System-original
Ad

Chapter_03_of_software_engineering_book.ppt

  • 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 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 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 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
  • 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) unit test continuous integration acceptance testing pair programming Release user stories values acceptance test criteria iterationplan simple design CRC cards spike solutions prototypes refactoring softwareincrem ent projectvelocity com puted
  • 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 adaptive cycle planning uses mission statement project constraints basic requirements time-boxed release plan Requirements gathering JAD mini-specs components implemented/tested focus groups for feedback formal technical reviews postmortems softwareincrem ent adjustm entsforsubsequent cycles Release
  • 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 ScrumProcessFlow(usedwithperm ission)
  • 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 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