It rarely happens that once a prototype is written, the developer finds out it was all a wastage and the customer wanted something quite different.
Think of the prototype as a Photoshop mock, but interactive like the real application.
If you’ve never had to write down and get feedback on a system design that is entirely okay, but as you work on projects of increasing complexity and scope, it becomes more and more important to plan before you write.
The prototypes you’re describing are primarily useful for UX iteration, not system design.
Think of it as the scale model of the house in the original example. It’s a way for sake holder to see and feel what they’re going to get.
Abridged and abstracted documents add their own confusion.
I'll counter that with a real-world experience.
I contracted at a well known company that did system design & documentation first, without doing prototyping, etc. My first day working on the UI I pointed out that the web app had so many menus that the actual content would barely fit on a 15" laptop screens.
The team debated and debated on how to fix it, but ultimately it kept getting trumped by the documentation team who said the docs are done so we couldn't change anything. I left after a couple of months. They worked on it for a year before finally tossing it out.
I'll counter that with a real-world experience.
I worked at a well known company that did system design & documentation first, without doing prototyping, etc. My first day working on the UI I pointed out that the web app had so many menus that the actual content would barely fit on a 15" laptop screen.
The team debated and debated on how to fix it, but ultimately it kept getting trumped by the documentation team who said the docs are done so we couldn't change anything.
I left after a couple of months. They worked on it for a year before finally tossing it out.
In my experience this leads to mediocre results. You need to throw out prototypes often, otherwise you'll end up with shitty solutions.
It's an unfortunate fact that as soon as you see a prototype, everyones instict is to fix the most glaring issues and call it done.
But to get to a truly great solution, you often have to throw out the prototype, and start all over.
Unfortunately very few people have the patience for that. Usually the prototype already took so much time, that everyone is already totally stressed, and starting over is out of the question.
If throwing the prototype away isn't possible, it's not really a prototype anymore.