PMI - Agile Methodologies
PMI - Agile Methodologies
♦ Maintain simplicity
▪ There are few external rules and regulations that affect the
software
▪ All tests must be run for every build and the build is
only accepted if tests run successfully
♦ Incremental planning
▪ Requirements are recorded on story cards and the
stories to be included in a release are determined by the
time available and their relative priority
• The developers break these stories into development tasks
small releases
♦ Test-first development
▪ An automated unit test framework is used to write tests for
a new piece of functionality before that functionality itself is
implemented
♦ Refactoring
▪ All developers are expected to refactor the code
continuously as soon as possible code improvements are
found. This keeps the code simple and maintainable
♦ 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
Gianfranco Lombardo Software Engineering – Agile Software Development University of Parma - 10
Extreme Programming Practices (3/3)
♦ Continuous integration
▪ As soon as the work on a task is complete, it is integrated
into the whole system. After any such integration, all the
unit tests in the system must pass
♦ Sustainable pace
▪ Large amounts of overtime are not considered acceptable
as the net effect is often to reduce code quality and
medium term productivity
♦ On-site customer
▪ A representative of the end-user of the system (the
customer) should be available full time for the use of the
XP team. In an extreme programming process, the
customer is a member of the development team and is
responsible for bringing system requirements to the team
for implementation