Lecture 8 & 9
Lecture 8 & 9
Activities in XP:
listening
Designing
Coding
Testing
Feedback
Applications that uses XP:
Small scale project
Project using new technology/ research based projects
Small releases The minimal useful set of functionality that provides business
value is developed first. Releases of the system are frequent
and incrementally add functionality to the first release.
Pair programming Developers work in pairs, checking each other’s work and
providing the support to always do a good job.
Collective ownership The pairs of developers work on all areas of the system, so that
no islands of expertise develop and all the developers take
responsibility for all of the code. Anyone can change
anything.
Principle Description
Incremental delivery Fulfilled using small and frequent releases of software based on
customer stories.
People not process Supported via pair programming and collective ownership of the
code.
Any issue
XP testing advantages:
Problems of requirements misunderstanding are reduced as
you have developed test cases as per your program’s behaviors.
Avoids test-lag (when developer is faster than tester so pace
mismatch)
User involvement in test development and validation.
Tests are written as programs rather than data so that they
can be executed automatically whenever a new
functionality is added to a module.
ROLE:
to help develop acceptance tests for the stories that are to be
implemented in the next release of the system.
If he is a full time member of development team, then he may
write testcases as well.
ISSUE:
Customer have limited time. So he might be reluctant to offer his
services full time with development team.
Velocity An estimate of how much product backlog effort that a team can cover in
a single sprint.
Understanding a team’s velocity helps them estimate what can be
covered in a sprint and provides a basis for performance improvement.
‘Scrum master’:
arranges daily meetings,
tracks the backlog of work to be done,
records decisions,
measures progress against the backlog
Communicates with customers and management outside of the
team.
The team:
attends short daily meetings (Scrums)
all team members share their progress, problems that have
arisen and what is planned for the following day.
• This means that everyone on the team knows what is going on and,
if problems arise, can re-plan short-term work to cope with them.
30/10/2014 Chapter 3 Agile Software Development 33
Scrum benefits
Role replication
Each team has a Product Owner for their work component and
ScrumMaster.
Product architects
Each team chooses a product architect and these architects
collaborate to design and evolve the overall system architecture.
Release alignment
The dates of product releases from each team are aligned so
that a demonstrable and complete system is produced.
Scrum of Scrums
There is a daily Scrum of Scrums where representatives from
each team meet to discuss progressand plan work to be done.
30/10/2014 Chapter 3 Agile Software Development 52
Agile methods across organizations