XP Practices
Coding Standards
Code was commented for Javadoc, but much more importantly we maintained that
the code should be clean, clear, and self-evident.
Collective Ownership
After a session or two, individuals are assigned to different areas than those
they have worked on before, and end up paired with people they haven't worked
with before. This way no single person "owns" all the code to one
area; instead, everyone gets to know the system.
Continuous Integration
Using CVS on Sourceforge, we integrated code after each story was completed.
We check that each new feature works with the entire system as soon as it is
completed.
40 hour week
Ours is 5 hours. We generally meet Wednesday and Sunday evenings in 1275 (for
coding) or 1235A (for whiteboard planning), for an average of 2.5 hours each
session, every week.
Metaphors
Through several stand-up and roundtable meetings done at the very beginning of
the project, as well as consistent discussion afterwards, every group member
has knowledge of the general, overall idea of the system, as well as how it
should fit together and what the user experience is supposed to be like.
On-site Customer
Andrew, who dreamt up the project, is available for consultation at every
meeting.
Pair Programming
All programming is done in pairs, with generally the whole group present at
the time. (see below) This encourages consultation between pairs and
facilitates the free exchange of ideas within the group.
Planning Game
The planning game was played at the beginning of each iteration in room
1235A.
Refactoring
Code is refactored at the end of each session, and/or the beginning of another
one, and before a release. This keeps things clean and under control.
Simple Design
At every step, we try and do the simplest thing possible. This has generally
been reflected in the tasks we drew up from the User Stories, and our
implementation decisions for those tasks.
Testing
Each pair designs simple unit tests for their code. Admittedly, these are
generally thrown away afterwards. The customer has functional tests for the
system.
Update 2001-06-28, Copyright (c) 2001 Music Sequencer Group