Well this works due to a combination of our approach and unique technology.
The approach is to develop the new system directly with the customer. In effect we simply enable the customer to design their own system.
The main challenge is to encourage the customer to communicate. Ordinarily this is very difficult since the customer is expected to "predict" what they need.
With the incremental development, this is not such a problem, because we start the whole process by developing a minimal system that we can then discuss and refine.

The technology facillitates and enhances the approach.
By enabling the system to be played with as it is developed the customer not only gains confidence in the data model that is developed but also in the way it can be used.
Within half-a-day a new system will have been developed. It will be left for the customer to evaluate, if they are happy then they will purchase a license to enable them to continue to use it after the evaluation period - usually (but not always) a maximum of two weeks.
As the system is used, other requirements may be come to light.
In most cases such adjustments can be made quickly and reliably, allowing the continued evolution of your custom information system.