2. Agile Methodologies
compromise between no process and
too much process
less document-oriented, rather code-
oriented
adaptive rather than predictive
people-oriented rather than process-
oriented
3. Predictive versus Adaptive
Creative processes are not easily
planned, and so predictability may well
be an impossible target.
The traditional engineering metaphor
for building software is a different kind
of activity and requires a different
process
4. Predictive versus Adaptive
People expect that requirements should
be changeable => if you cannot get
stable requirements you cannot get a
predictable plan
5. Predictive versus Adaptive
One of the big dangers is to pretend that
you can follow a predictable process
when you can't.
Adaptivity is all about finding a process
that can give you control over an
unpredictability.
6. Predictive versus Adaptive
How to control an unpredictable process?
→ Iterative Development:
The key is to frequently produce working
versions of the final system that have a
subset of the required features.
7. Putting People First
most good developers prefer an
adaptive process.
people are not predictable
“components”
It is important to treat programmers
as responsible professionals and also
give them acces to business expertise
8. The Self-Adaptive Process
→ regular reviews of the process asking
the following questions:
What did we do well?
What have we learned?
What can we do better?
What puzzles us?
9. Flavors of Agile
Development
Agile Manifesto
XP (Extreme Programming)
Scrum
Crystal
Context Driven Testing
(Rational) Unified Process
10. Conclusions:
Using an agile method is not for
everyone. However these
methodologies are widely applicable
and are gaining popularity in the past
few years.
The new Methodology
http://www.martinfowler.com/articles/newMethodology.html