After reading Marty Cagan's interesting article A Vision For Product Teams I started to think about the topic of product discovery. In my view most of the AI-hype driven discourse on prototyping and proof-of-concepts misses the point.
Speeding up some parts of the iteration with GenAI is only sub-optimisation. It is novel, important and surely interesting, but not the full picture. When thinking in typical model of discovery and delivery, discovery includes activities such as:
In short: discovery is about finding a problem wort of solving. Gaining understanding. Building empathy. Formulating a position and foundation. It's quite about a thinking.
Vibe coding – or any GenAI(TM) approach for that matter – does not replace, cover or address these activities. Prompting takes you only so far.
Chip Huyen quote (from the article): "I don’t think AI introduces a new kind of thinking. It reveals what actually requires thinking."
Prototyping and building proof-of-concepts in software is an old idea. Depending what kind of prototype LLMs make the creation of it faster. The idea is old though.
It's not long ago when low-code/no-code became a thing. Getting to the end quickly is recurring topic. And in case of low-code/no-code it is still about improving parts of the process only.
I believe confusion originates from roles and the required skillsets needed in those roles. The fallacy is to think that speeding up parts of the process within an activity makes one capable of rotating roles without any issues. Because you have access to the tool does not make you expert in the domain of the tool. Exposing parts of an activity by the tools does not constitute the craft. My point is: creating a tangible PoC for review (or to support discussion, or whatever purpose during the discovery) has been a thing long before LLMs. It will always be, because that's how humans build stuff. It is likely that in the future we start to see more "real looking" examples in our day-to-day digital work, but fundamentally it's not a new thing. It's more about something that already existed.
Maybe it's about subjective views and experiences in software development. Maybe people are used to certain things and forget the craft of design and discovery in the first place. Maybe getting exposed to an idea – rapid prototyping – makes one think it's a new idea altogether.
It's worth repeating: using LLM makes parts of the process faster. What it cannot do is add skills to roles. The benefits remain mostly within improved flexibility in time-allocation within role.
Just because you can vibe stuff out does not mean the you understand it.
If you choose to ignore the fundamentals and avoid the craft, it cannot be replaced with more prompts later. In trivial cases you can fake it some time, but sooner or later you need to understand things on deeper level.
I am not against coming up with ideas and making them tangible quickly. I am all for it. At the same time, it is not reasonable to expect to replace activities that actually requires thinking and real work. Spinning of a convincing weekend PoC is indeed amazing, but in the end of the day, it is better to avoid making statements that gives the impression no more dicovery work is needed. It's never that easy.