Perhaps an important application has been running for years, but the original developer is no longer available. Perhaps the source code is missing, a program needs to be extended, or you only have an idea of what a new application should do.
These are normal starting points for me. You do not need a finished technical specification. Tell me what exists, what is not working well or what you want to achieve. We can work out the technical path afterwards.