Variability: A Test-Driven Approach -- Introducing Agile Methods in a Large Software