Challenges and industry practices for managing software variability in small and medium sized enterprises