1. A method for using an expert system to recommend a customized solution for a customer, the method comprising: providing in the expert system a set of scenarios each of which includes default facts and is associated with a detailed rule base that when applied in isolation to the default facts fully determines a prototype solution; selecting a particular scenario from the set of scenarios based at least on user input; generating a customized solution by applying the detailed rule base associated with the particular scenario to facts based at least on the user input and any default facts of the particular scenario that complement and do not conflict with the facts based at least on the user input; and iteratively refining the customized solution.