The secret to delivering software projects on-time and on-budget is to make an excellent effort of defining the requirements of the product and to be objective as to which requirements are absolutely necessary. Once the requirements are defined, they should be carefully reviewed at key junctures in the software development process to ensure that