agile process model
TRANSCRIPT
7/31/2019 Agile Process Model
http://slidepdf.com/reader/full/agile-process-model 1/19
unit 3
Agile Development
7/31/2019 Agile Process Model
http://slidepdf.com/reader/full/agile-process-model 2/19
Agile Software Development“We are uncovering better ways of developingsoftware by doing it and helping others do it.Through this work we have come to value:
•Individuals and interactions over processesand tools
•Working software over comprehensivedocumentation•Customer collaboration over contractnegotiation•Responding to change over following a plan
That is, while there is value in the items on theright, we value the items on the left more.”
Kent Beck et al
7/31/2019 Agile Process Model
http://slidepdf.com/reader/full/agile-process-model 3/19
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are providedwith permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005
What is “Agility”?
Effective (rapid and adaptive) response to changeEffective communication among all stakeholdersDrawing the customer onto the teamOrganizing a team so that it is in control of the workperformed
Yielding … Rapid, incremental delivery of software
7/31/2019 Agile Process Model
http://slidepdf.com/reader/full/agile-process-model 4/19
Agile
Change is what software development is very much about.Changes in the software being builtChanges to the team membersChanges because of new technology
An agile team recognizes that software is developed byindividuals working in teams and skills of these people,their ability to collaborate is at the core for the success of the project
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are providedwith permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005
7/31/2019 Agile Process Model
http://slidepdf.com/reader/full/agile-process-model 5/19
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are providedwith permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005
An Agile Process
Is driven by customer descriptions of what isrequired (scenarios)Recognizes that plans are short-livedDevelops software iteratively with a heavy
emphasis on construction activitiesDelivers multiple „software increments‟
Adapts as changes occur
7/31/2019 Agile Process Model
http://slidepdf.com/reader/full/agile-process-model 6/19
Principles for those who want toachieve agility
Meet customer requirementsEarly delivery of productsWelcome changing requirementsDeliver working software frequentlyBusiness people and developers must work together daily throughout the projectBuild projects around motivated individualsFace to face conversationContinuous attention to technical excellence and gooddesign
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are providedwith permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005
7/31/2019 Agile Process Model
http://slidepdf.com/reader/full/agile-process-model 7/19
SimplicityBest architecture, requirements and designs merge fromself organizing teams
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are providedwith permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005
7/31/2019 Agile Process Model
http://slidepdf.com/reader/full/agile-process-model 8/19
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are providedwith permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005
Extreme Programming (XP)
The most widely used agile process, originally proposedby Kent BeckXP 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 ”(no of cust storiesimplemented during the first release) is used to help definesubsequent delivery dates for other increments
7/31/2019 Agile Process Model
http://slidepdf.com/reader/full/agile-process-model 9/19
Extreme Programming (XP)XP Design
Follows the KIS(Keep it Simple) principle Encourage the use of CRC (class responsibility collaborator)cards For difficult design problems, suggests the creation of “spike solutions ”—a designprototypeEncourages “refactoring ”—an iterative refinement of the internal program design
XP CodingRecommends the construction of a unit test for a store before coding commencesEncourages “pair programming ”. XP recommends that two people worktogether ….why?Refactoring is the process of changing the software system in such a way that itdoes not alter the external behavior of the code yet improves the internalstructure
XP Testing All unit tests are executed daily “Acceptance tests” are defined by the customer and executed to assess customer visible functionality
7/31/2019 Agile Process Model
http://slidepdf.com/reader/full/agile-process-model 10/19
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are providedwith permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 1
Extreme Programming (XP)
unit t estcont inuous integrat ion
accept ance t est ing
pair programming
Release
user st oriesvalues accept ance t est crit eria
it erat ion plan
simple designCRC cards
spike solut ionsprototypes
refact oring
software incrementproject v elocity computed
7/31/2019 Agile Process Model
http://slidepdf.com/reader/full/agile-process-model 11/19
1
Adaptive Software Development
Originally proposed by Jim Highsmith ASD — distinguishing features
Mission-driven planningComponent-based focus Uses “ time-boxing ”Explicit consideration of risks Emphasizes collaboration for requirements gatheringJelled team is essential for collaborationCriticize , assistance, work as harder, communication prob.Emphasizes “ learning ” throughout the process
Focus groups , Formal Technical Review, Postmortems(addressing its own performance , improve the approach)
7/31/2019 Agile Process Model
http://slidepdf.com/reader/full/agile-process-model 12/19
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are providedwith permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 1
Adaptive Software Developmentadapt ive cycle planning
uses mi ssio n st at ement project const raints basic requirement s
t ime-boxed release plan
Requirement s gat heringJAD mini-specs
component s implement ed/ t est edfo cus groups for f eedback formal t echnical reviews
post mort ems
software incrementadjustment s for subsequent cycles
Release
7/31/2019 Agile Process Model
http://slidepdf.com/reader/full/agile-process-model 13/19
1
Dynamic Systems Development Method
Promoted by the DSDM Consortium ( www.dsdm.org )DSDM —distinguishing features
Similar in most respects to XP and/or ASDNine 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 accuratebusiness solution.
All changes during development are reversible.
Requirements are baselined at a high levelTesting is integrated throughout the life-cycle.
7/31/2019 Agile Process Model
http://slidepdf.com/reader/full/agile-process-model 14/19
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are providedwith permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 1
Dynamic Systems Development Method
DSDM Life Cycle (with permission of the DSDM consortium)
7/31/2019 Agile Process Model
http://slidepdf.com/reader/full/agile-process-model 15/19
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are providedwith permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 1
Scrum
Originally proposed by Schwaber and BeedleScrum —distinguishing features
Development work is partitioned into “ packets ” Testing and documentation are on-going as the product isconstructedWork occurs in “ sprints ” and is derived from a “ backlog ” of existing requirementsMeetings are very short and sometimes conducted without chairs“demos ” are delivered to the customer with the time -box allocated
7/31/2019 Agile Process Model
http://slidepdf.com/reader/full/agile-process-model 16/19
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are providedwith permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 1
Scrum
Scrum Process Flow (used with permission)
7/31/2019 Agile Process Model
http://slidepdf.com/reader/full/agile-process-model 17/19
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are providedwith permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 1
Crystal
Proposed by Cockburn and HighsmithCrystal —distinguishing features
Actually a family of process models that allow resoucelimited cooperative game of invention and communicationwith a primary goal in mind.( based on problemcharacteristics)Face-to-face communication is emphasizedSuggests the use of “ reflection workshops ” to review thework habits of the team
7/31/2019 Agile Process Model
http://slidepdf.com/reader/full/agile-process-model 18/19
1
The crystal family is actually a set of agile processesthat have been proven effective for different types of
projects.
7/31/2019 Agile Process Model
http://slidepdf.com/reader/full/agile-process-model 19/19
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are providedwith permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001, 2005 1
Agile Modeling
Originally proposed by Scott Ambler Suggests a set of agile modeling principles
Model with a purposeUse multiple models
Travel lightContent is more important than representationKnow the models and the tools you use to create them
Adapt locally