A typical discovery phase process in software development includes several key stages:
Client interviews.
Detailed research on audience, competition, market, technologies, ecosystem, trends, etc.
Workshops with key stakeholders.
Presentation and deliverables.