1. A method of configuring a product comprising a number of components, the method comprising: providing, for each component, information relating to a group of alternatives for the component, defining rules relating to compatibilities between alternatives from different components, representing the rules in a Directed Acyclic Graph (DAG), and iteratively configuring the product by repeatedly: choosing a component, selecting an alternative from this component's group of alternatives, checking the DAG whether the alternative selected is compatible with other chosen alternatives from other components.