Top-down generally only works for a well-understood problem domain, and even then it only holds up for focused projects where you have the power to declare what is in scope and out of scope in a very strong fashion. This works better for dev tools, libraries, middleware or other projects that are abstract and not tied too closely to a specific business or end-user goal. In other words, the more abstract the tool and the more technical the audience, the more likely that you can drive massive impact while maintaining a simple vision and avoiding all kinds of edge cases and incidental complexity.
Rapid prototyping is more optimal for any end-user product or any new domain, because it’s a faster way to discover the unknown unknowns, both in terms of user features as well as well as technical challenges you may not have anticipated.
Rapid prototyping is more optimal for any end-user product or any new domain, because it’s a faster way to discover the unknown unknowns, both in terms of user features as well as well as technical challenges you may not have anticipated.