Scrum and development methods

I got a question from René Landgrebe about what development methods we use along with Scrum.  He writes:

"I wonder what developing method you use in combination with SCRUM. I
read about combining XP and SCRUM is very reasonable.

So, what combination do you use? XP, Test-driven development,
feature-driven... ???"

Scrum doesn't dictate much about your engineering practices, apart from encouraging a transparent, "debt-free" definition of "done".  "Done" in Scrum should generally mean that the code is implemented and checked in, bugs are fixed, tests are written, and any documentation which must accompany the software is written, etc.  But that's about all that Scrum says on the matter.

On our project that is using Scrum, we're using TDD (test-driven development) with unit tests.  We're not using XP or feature-driven development.  Team members occasionally do paired work in short spurts (say, 1-2 hours) but we haven't tried pair programming beyond that (one of our team members is planning to instigate a pilot of that, however).

One thing we've done which has proved useful is that we occasionally do whole-team offsites where we take the entire team (including program managers, QA, and dev) to a conference room in another building for a week (with a small skeleton crew left behind to field any urgent issues that arise).  This has two benefits: 1) close proximity in shared space so it's easy to ask questions of teammates, and 2) reduced randomizations from the larger division.

Chris