It's important to have a firm understanding of the final product and results. It all depends on the stage of readiness and concentration of resources allocated toward the project, which determines the speed and start of software development. All you need to do is just refine your idea and have a clear vision of the end result so that we can plan the work.