Assignment 2: Extreme Programming Reading and Reflection
Due: Friday, September 9, 11:30am
(hardcopy at beginning of class)
50 points
The goal of this reading assignment is for you to familiarize yourself
with the practices of Extreme Programming, which will be used in this
course. Start by reading the short article What is Extreme
Programming?
Next, read about key XP Practices. Extreme Programming is
documented on the c2.com wiki web, among other places. The
starting point is the Extreme
Programming Roadmap.
A wiki web is like a publically editable blackboard space (note: be
polite and don't make any edits unless you know a bit more about
XP). The c2 pages have a lot of good information, but the further
you go down the page the more disorganized it is. Don't read all
of every page; read the summary at the top, a few related links that
seems relevant, and stop reading when you stop getting valuable
content. Don't read all the links either; use your judgment to
find out which things are valuable to you.
The most important technical pages to read are the 12 links from the Extreme
Programming Core Practices page. Read the pages on the 12
core practices, as well as the key links from each of those
pages. Some other important links to follow include UnitTest, FunctionalTest, YouArentGonnaNeedIt,
OnceAndOnlyOnce,
ReleasePlan, SpikeSolution, CodeUnitTestFirst,
UserStory, PairPromiscuously,
ContinuousIntegration,
RefactorMercilessly,
DoTheSimplestThingThatCouldPossiblyWork.
As you read, keep in mind that you will be following these practices in
your development, and use the pages to answer questions about how to do
XP right.
Reflection Assignment
After or while you're reading about XP, write a 1-page (minimum 500
word) reaction:
- What XP practices did you find surprising, unusual, or
interesting?
- Why do you think some of these specific practices would work or
not work (individually and/or together)?