UNDERSTANDING VARIABLE DRIVEN DESIGN -- A TUTORIAL