Scheduling software projects are usually structured so that a significant fraction of the money is spent before the customer sees any deliverables. This practice suits the vendors but exposes the customer to a high level of risk. By the time the customer actually gets their hands on the system, a lot of time has passed and much of the money has already changed hands. Thus when the system is delivered and fails to live up to expectations, the customer is faced with a difficult choice. They can either live with a system that doesn't work, or go back to upper management and say the project is a failure. The more expensive the system, the higher the management level required to approve it, making the customer all the more reticent to call the project a failure. You can tell how much confidence a vendor has in their product by how much money you must sink with them before getting a look at it on your process.
At APC, we do things differently, our projects are structured to play out in a series of well defined manageable steps, each with clearly understood costs and goals.