The only parts of it that really appealed to me (I'm not all that familiar with it) were the unit testing (aren't we supposed to do that anyway?) and the idea of keeping the ultimate users in the loop helping with the design. I just do data-intensive research type stuff and always tell the requester that they'll need to devote a good chunk of time to trying preliminary versions with dummy data and such to make sure it's what they want.
I'm not sure about formulating all of the tests beforehand though, unless you're the one using it eventually and know just about everything you're going to be doing with it.