I think most utility software projects won't even require this three step process. More like "define problem, use an AI-assisted interface to whip up a few solutions, spit shine your favorite, if necessary."
LLMs seem very well-suited to generating written specifications, like they do with writing the code itself. They can even help with the "define problem" part.
Steps 1 and 2 are more reliant on human-to-human communication if you are developing an application to be used by some end user and not something that just ingests data and processes it. It takes skill to translate non-technical speak into a clear goal and specifications required to achieve that goal, to probe the third party and ask specific questions to tease out their expectations of the application. That, LLMs can't do yet. I have no doubt that they'll get better at that in the near future though.
Ah, requirements capture.. yeah, not straight ChatGPT but "having a directed conversation" doesn't seem like a stretch.
EDIT: for example, Character.ai as an example of character prompting. You can prime an LLM with a prompt so that it asks you certain types of questions.