It tends to be a very long process, and often involves a lot of "trial balloons." I just went through that, in the last couple of years. The project we're realizing, looks absolutely nothing at all about what the CEO originally dreamed up, but everyone that has seen it, loves it.
The trick is to not start off by saying "It'll never work." That slams doors shut, right away.
It's more like, "OK, so let's walk through what we'll need to do, to make it work."
That will often result in changes being made, by the "idea person," as the plans are laid. We will also try to create test harnesses and prototypes. These often end up, with the idea person going "Hmm...it seemed like a good idea, but it doesn't work the way I wanted."
It's slow and painful, but works.
I could be a lot more of a pain in the butt than I am, as I have a lot of leverage, but one of my goals is to help others on the team (including a young CEO) to learn how to make ship software.
If I were working on my own, I probably would have shipped, eighteen months ago.
No one is making a dime. It’s a nonprofit effort.
When someone says "can we..." or spills their idea they've often identified a real need but they often don't seem to do any sort of analysis further than identifying a demand signal. Chances are, you're not the first person to observe the problem and an opportunity to capitalize on it and there may be good reason no one has yet (its economically infeasible given current understanding, resources, and value people see in it).
The trick is to hold their hand and walk them through a feasibility analysis. Given infinite time and money, I'm confident I can arrive at pretty much any solution or at least a useful approximation that's an improvement on where we currently stand, so we start there and walk backwards. How much time do we really have, how much money do we really have. What's your appetite for risk within those bounds. Let's start talking about some tradeoffs of what you want to see and what I think we might be able to actually achieve.
In my experience, they've identified a want. Either their want or a want they think the market has.
It's not until further analysis do they / you / we get to root need(s). This is why (allegedly) so many "IT projects" fail. The client got what they wanted...not what they needed.
Socratic Software development is the way to go.
True. And once their product hits the market, if ever gets there, they don't thrive.
Prior to launch they are sooooo in love with their idea that they are meticulous about features all the while thinking they're smarter than the market.
They don't understand and appreciate the value of execution. Ideas are easy. Execution - because it involves people as well as adapting to change - is 10x harder.
Yes, those people exist. Unfortunately, that bias will ultimately undermine them, but they'll never admit it.