Geeks hate this question. It's nearly impossible to answer. Our experience has shown us that no one can really know when a project will be done until it's done.
But non-geeks need to know. They have to plan for everything from revenue to hiring to marketing to production, and timing of the availability of the technology is a critical constraint.
Here's how these things usually go. In a meeting, a business partner asks, "When will this be done?" You know that the real and true answer, "That's impossible to say," isn't going to fly. So you describe a detailed series of scenarios, each with a different delivery date. Each represents a different resolution of one of the major external risks identified for the project. For example, you might say, "Well, if we can get the vendor contract signed by the end of the month, then it should be done by the end of July."