How long do we need to wait for a project to be completed?. I mean what if a freelancer has taken one year already and the job has not been completed?. I do not want to end the contract because I have already payed 720 dollars and all what I have got is the app design, and I hired the freelancer to develop a working app, and I want that working app that I payed for. Unfortunately the freelances seems to continue getting new projects and I do not even know if the freelancer even expects to finish the project at any time. This upwork has no people to chat with and discuss the possibilities. When a freelancer behaves unresponsibly there is no way to get someone to investigate what is going on. This platform does not protect clients in any way. Someone can say that he is a software developer and get projects that he never completes, since maybe he is not even a developer just a designer that designs apps but has no idea how to program. Very disappointed with this platform. I have posted my first and last project here. This way of working does not work at all.
re: "How long should we wait for the completion of a project?"
That is completely up to you.
If you want to wait "as long as the freelancer takes," then that is your choice.
If you want to wait "one month," you could do that.
It is YOUR choice, as the client.
If you want the project to take less time, then you should work with a project manager and more developers.
Successful clients who commission projects of this scope rarely rely on a single lone developer.
re: "This platform does not protect clients in any way."
I'm sorry that you had a disappointing experience. But this isn't accurate. The Upwork platform is very client-centric, and has an extensive array of ways in which it protects clients.
One of the most important ways is that clients can fire freelancers AT ANY TIME, for ANY reason. Or for not reason at all.
This appears to be a privilege that you not using.
The key problem with your project is that you did not remember this key principle:
All projects like this have a project manager.
Either an independent project manager that you hired.
Or YOU are acting as the project manager.
Or the lead developer is the project manager.
For YOUR project, you did not hire a project manager, and you did not act as the project manager. That means that the lead developer is the project manager. But: ONLY ABOUT 25% of lead developers can successfully serve as a project manager. So the odds are that your lead developer is among the 75% wh can NOT. That means the project fails.
What did OTHER CLIENTS who have a SIMILAR project do differently than you?
- They hired a project manager
- The hired many freelancers, assigned different tasks, and only continued working with the freelancers who provided them the best value for their project.
"I mean what if a freelancer has taken one year already and the job has not been completed?. I do not want to end the contract because I have already payed 720 dollars and all what I have got is the app design, and I hired the freelancer to develop a working app, and I want that working app that I payed for."
This is known as the 'sunk cost fallacy', or alternatively, the 'Concorde fallacy'. That $720 is already spent no matter what, and there's no chance of getting that money back. And if there's nothing useable to show for it, it makes zero financial sense to continue expecting the same freelancer to eventually deliver a working product. All you're doing is delaying your application, and likely throwing good money after bad.
Nothing is stopping you from cutting your losses and moving on. You have the design, at least. Find a freelancer (or team of freelancers, ideally) who can work with what's already been done and actually complete the project. It will be cheaper in the long run to get your app finished than to keep waiting and paying someone who you don't think is delivering.
As Preston said, find a project manager with experience in software development who can help you weed out those who can't do what you need done. And when negotiating contracts with new people, make sure there are very clear deliverables and deadlines set. A fixed price project with defined milestones would be ideal for this sort of thing. A full design spec by X date, for which you will pay Y dollars. After that, perhaps a UI mockup by a later date, for another agreed upon price. Continue like that until the final deliverable is the complete working app along with all required assets and code, where the price for that final deliverable closes out the complete balance for the entire project as a whole. Work with your project manager to determine reasonable deadlines, and make sure the contracts contain penalties (up to and including ending the contract) for missing the deadline, and perhaps even bonuses for quality work completed early.
But the bottom line is to find someone who can help you manage the project, and break that project down in to smaller chunks with highly specific criteria. That will help things go much more smoothly, and you'll be far more likely to get your money's worth than just telling a random freelancer "I want you to do create this. Let me know when it's done."