Pattern Patter
| XP Immersion Training - Course Review -
William C. Wake |
December, 1999 |
| Dec. 5-10, 1999, I attended the first offering
of "XP Immersion Training", in Deerfield, IL, sponsored by Object
Mentor. This was an excellent, intensive course. |
Mechanics
Kent Beck did the bulk of the training, with one day by Martin
Fowler. Bob Martin and Ron Jeffries provided introductions, general
support, and evening lectures. These four provided evening talks
(one per night) on a variety of topics. Several Object Mentor
people provided logistical support.
The format was:
- Morning lecture
- Afternoon team programming
- Evening discussion
This made for very long days (but well-spent).
What is XP?
Extreme Programming ties together a number of practices:
Requirements:
- Users sit with the development team
- Ongoing release and integration planning
Test:
- Constant unit testing (write tests before code)
- User-defined functional tests
Code:
- Pair programming
- Continuous integration
- Coding standards
Design:
- Metaphor as a unifying system concept
- Refactoring
- "Simplest thing that could possibly work"
The Good
- Testing first feels very powerful.
- Constant customer involvement has high potential payoff.
- There were excellent demos of refactoring by Martin Fowler, and
Kent Beck and James Newkirk.
The Bad
- Our programming team got nowhere near as far as I expected. It
was hard to tell why.
- Java was not people's primary language.
- People had no familiarity with Swing. (We eventually dropped it
and went to text input.)
- It took time to become familiar with the programming
environment, and to develop configuration management
conventions.
- It was hard to put practices in place: getting used to pair
programming and writing tests first.
(Not to say the team project should be dropped; it was actually
very helpful.)
The Ambiguous
- Pair programming seems like it could work well but took getting
used to.
- Simple design was appropriate in our small program, but it was
hard to tell for sure that it would scale.
Conclusion
I intend to encourage introduction of these practices into our
group's work.
Further Information
|