Session 2

XP Practices


810:188
Agile Software Development


Opening Discussion

Chapter 2 of your reading assignment for today outlines the practices of extreme programming (XP).

Some answers: ...



More on "Agile" Development

Yesterday, we discussed the characteristics of a great software team. Your answers covered the space well: Great teams deliver reliable software on schedule and under budget. They communicate closely with their customer. They work with a set of well-defined goals.

The question then becomes, "What are characteristics of a great agile software development team?" Let's start this semester with three:

The first of these means that the team has flattened the cost-of-change curve. The second means that the team address problems with its process as it identifies them, and makes changes to improve. The third means that the team can adapt to changes even its own make-up.

The agile practices you read about for today aim to achieve the characteristics of all great software teams, as well as the higher standard set for agile teams.



Mechanics of the Course

project
  - 1 team working on the same project
  - I will serve as customer, coach, and occasional programmer
  - 3 iterations, one per week
  - weekly planning and debriefing sessions
  - daily (stand-up) meetings
  * meet in 335 as our studio

team tools
  - programming language
    - Java .. Ruby
  - wiki

software tools
  - version control
  - unit testing
  - refactoring
  - automated build

time expectations: 4-6 hours a day out of class
work expectations: gotta do this stuff

The decision is... Ruby.



Wrap Up


Eugene Wallingford ..... wallingf@cs.uni.edu ..... May 11, 2010