What is Extreme Programming?
Extreme
Programming (XP) is an agile software development framework that aims to
produce higher quality software, and higher quality of life for the development
team. XP is the most specific of the agile frameworks regarding appropriate
engineering practices for software development.
Extreme Programming - Practices
There are four basic practices in
Extreme Programming. Which are:
·
Coding
·
Testing
·
Listening
·
Designing
These four basic activities need to be
structured in the light of the Extreme Programming principles. To accomplish
this, the Extreme Programming practices are defined.
These 12 Extreme Programming practices
achieve the Extreme Programming objective and wherever one of the practices is
weak, the strengths of the other practices will make up for it.
Defined 12 Extreme Programming
practices are as follows −
·
The
Planning Game
·
Short
Releases
·
Metaphor
·
Simple
Design
·
Testing
·
Refactoring
·
Pair
Programming
·
Collective
Ownership
·
Continuous
Integration
·
40-hour
Week
·
On-site
Customer
·
Coding
Standards
The
Extreme Programming practices if implemented in isolation can be weak and thus,
can fail. In Extreme Programming, all the practices need to be considered as a
whole, so that they support each other. The weakness of one is covered by the
strengths of others.
What XP practices
did you find surprising, unusual, or interesting?
I found followings two Extreme
programming practices more supervising and interesting.
·
Planning Game:
The planning game begins
with the first-release planning meeting and ends with the final release.
You must define the rules
of the Planning Game in line with the Extreme Programming practices before the
first release planning meeting and familiarize the rules to the business and
the team.
·
Testing
The developers continually write unit tests,
which need to pass for the development to continue. The customers write tests
to verify that the features are implemented. The tests are automated so that
they become a part of the system and can be continuously run to ensure the
working of the system. The result is a system that is capable of accepting
change.
Why
Some Extreme Programming practices would not
work Individual?
Many
of these practices may not work individually. Like Collective Ownership
require Pair Programming because you are less likely to break the
code, and developers learn faster what they can profitably change. And with Coding
Standards, you will not have conflicts on the code. Similarly, Continuous
Integration require Collective ownership to ensures that whoever
changes the code and integrates will have a whole view of the system.
Comments
Post a Comment