0% found this document useful (0 votes)
4 views30 pages

Chapter 03

Chapter 3 discusses Agile Development, emphasizing agility as the ability to respond rapidly to change and the importance of effective communication and team organization. It outlines various Agile methodologies, including Extreme Programming, Adaptive Software Development, Scrum, Dynamic Systems Development Method, and Feature Driven Development, each with distinct features and principles. The chapter highlights the significance of human factors and collaboration within Agile teams to ensure successful project delivery.

Uploaded by

manuchahr300
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
4 views30 pages

Chapter 03

Chapter 3 discusses Agile Development, emphasizing agility as the ability to respond rapidly to change and the importance of effective communication and team organization. It outlines various Agile methodologies, including Extreme Programming, Adaptive Software Development, Scrum, Dynamic Systems Development Method, and Feature Driven Development, each with distinct features and principles. The chapter highlights the significance of human factors and collaboration within Agile teams to ensure successful project delivery.

Uploaded by

manuchahr300
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

Chapter 3

Agile
Development

1
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

2
3
4
5
Agility and
the Cost of Change

6
7
12 Agile Principles

8
Some Real Life Examples
of Agile Model
◼ Restaurant orders:
◼ Preparation of some of the food before opening
the shop (sprint planning)
◼ continuous delivery of orders
◼ number of successful orders (velocity)

◼ Cricket team:
◼ Run rate (velocity)
◼ team (team self sufficient)
◼ over (sprint length)
◼ captain/ coach
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.

10
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

11
Extreme Programming (XP)
Implementation

12
Adaptive Software Development
◼ Originally proposed by Jim Highsmith
◼ ASD — distinguishing features
◼ Mission-driven planning
◼ Component-based focus
◼ Uses time-boxing
◼ Explicit consideration of risks
◼ Emphasizes collaboration for requirements gathering
◼ Emphasizes “learning” throughout the process

13
Adaptive Software Development

14
15
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
Scrum Concept

18
19
Scrum
Implementation

20
21
Scrum
Visualization

22
23
Dynamic Systems
Development Method
◼ Promoted by the DSDM Consortium
◼ 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.

24
Dynamic Systems Development Method

DSDM Life Cycle (with permission of the DSDM consortium)

25
Crystal

26
Crystal

27
Crystal Implementation

28
Feature Driven Development
◼ 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

29
Feature Driven Development

Reprinted with permission of Peter Coad

30

You might also like