If you didn’t have a need, you wouldn’t be considering a software development project. (Well, perhaps you just enjoy developing software and hoping that a need for it pops up sometime. That’s a hobbyist approach to software, and there’s nothing wrong with that, but it isn’t how most people approach this kind of work.)
It seems like a simple process: you have your need, you describe the need to someone else, that person writes a software package that fills your need, everyone is happy. Unfortunately, it very rarely works that way!