... until an upper manager couldn't understand our progress without documents the way he was used to. He also insisted on a large increase of scope without a change of schedule. And that was that.
It wasn't that we were failing to deliver. It was that upper management couldn't handle the lack of their normal process.
It also put too much pressure on the person playing the "customer" role - perhaps because we were a very large XP team (30 people).
It worked well as long as management let it, though. We delivered some releases, with solid, maintainable code, on time.