Lots of times I have been involved in lengthy discussions about how to solve a problem and trying to guess what the user really wanted based on his initial request. It is not uncommon that implementing all of the possible solutions and lettings the user choose the one that satisfies his needs would have been done in a shorter amount of time than discussing it.
I’m probably rambling but if we have a continuous build, that is releasable, we could in many of these cases give the customer builds with all of the solutions and let the customer decide.
I have heard of development teams that has taken deliverable builds to such an extreme that they build Virtual PC images with their system preinstalled every night. So even if there is server software involved it is possible to create agile deliveries.