I like something called "spiral methodology". It seems to fit actual process flow more than any other "methodology" I've worked with yet.
1: receive request from user community (report/ new system/ whatever)
2: mock up (potentially throw away/ better if reusable but can't count on it)
3: user comments/ changes
4: keep what worked, change what didn't
Repeat this process as quickly as possible, with releases of stable code at least monthly, and major releases at least quarterly.
Its helpful to have a spreadsheet or summat to keep track of user requests. Then a triage session weekly to include/push requirements into the next release is needed to keep the list and user expectations manageable.
Yes, I agree Aristotle, now that I've taken a look at Extreme Programming...
"Spiral Methodology" seems like a few baby steps towards "Extreme Programming" from the Anarchy we had, called the "Waterfall" method. ;-)