Among many things to consider for successfully deliver your project, please take into account this:
Mr. Kurt Bittner and Mr. Ian Spence have written an important thought to take into account in our daily practice of software development, in their book entitled:
Managing Iterative Software Development Projects
The first part “The Principles of Iterative Project Management” has the chapter “Iterating and the Scientific Method”, excellent reading. I understood that we need to work more like scientists, that is to say that, modern scientists’ work is founded on the principle of direct observation, questions are asked about those observations, explaining or predicting theories are proposed, and then experiments are designed and performed to test those theories and for external corroboration; based on the measurements acquired and external corroborations, the theory is either rejected or confirmed.
“How does this approach apply to software development? In a sense, many aspects of a software development project are theories or, more accurately, assertions that need to be evaluated. The plan itself is composed of many assertions about how long tasks will take to accomplish. Even the requirements are assertions about the characteristics of a suitable solution. Just because some stakeholders or subject matter experts say a requirement is valid does not mean that they are correct. We need to evaluate even the requirements to determine whether they define the right solution to the problem at hand.
This reasoning leads us to adopt a style of software development where the assertions inherent in the plan are repeatedly challenged and evaluated by the design and development of demonstrable versions of the system, each of which is objectively evaluated to prove that it reduces the project risk and each of which builds upon the prior version until the solution is complete.”