This sounds just a lot my systems analysis and design classes years ago (waterfall days). Who would think of gathering requirements and specs in these days of Agile....
And Facebook showed clearly that you can change your API daily and no one cares.
For everyone else, we have to provide good experiences with stable products.