2. Waterfall Model required a
complete analysis of user
requirements.
Months of intense interaction with
users and customers
programmers implement and the
complete system is tested and
shipped.
o
3. o But
users change their minds.
After months, of collecting
requirements users still not
sure of what hey want.
Requirements tend to
change mid-development and
difficult to stop the
momentum of the project to
4. CMM focuses on turning software
development into repeatable,
defined, and
predictable processes, but were
found that many of them were, in
fact,
largely unpredictable and
unrepeatable because
Applicable first principles are not
present.
The process is only beginning to be
o
5.
Agile is response to change.
Charecterized by quickness and ease of
movements;
Nimble
6. Individuals
and interactions
over processes and tools.
Working software over
comprehensive
documentation.
Customer collaboration over
contract negotiation.
Responding to change over
7. Designed
to focus on four
things:
◦Coding, Testing, Listening,
Designing
Feedback
is built into the
development practices, not
bolted on.
8. What
does lack of communication
do to projects?
XP
emphasizes value of
communication in many of its
practices:
•
On-site customer, user stories,
pair programming,
collective ownership (popular with
9. ''Do
the simplest thing that could
possibly work'' (DTSTTCPW)
principle.(Elsewhere known as KISS)
A coach may say DTSTTCPW
when he sees an XP developer
doing something needlessly
complicated
YAGNI principle (''You ain’t
gonna need it'')
10. Feedback
at different time scales
Unit tests tell programmers
status of the system
When customers write new user
stories, programmers estimate
time required to deliver changes
Programmers produce new
releases every
2-3 weeks for customers to
review
11.
12. The
courage to communicate
and accept feedback
The courage to throw code
away (prototypes)
The courage to refactor the
architecture of a system
Do you have what it takes?
13.
14.
15.
16. Extreme programming includes
practices such as systematic
testing, continuous improvement
and customer involvement.
Customers are involved in
developing requirements which are
expressed as simple scenarios.
The approach to testing in XP is a
particular strength where
executable tests are developed
before the code is written.