This document surveys traditional and evolutionary clustering approaches, highlighting their differences and applications in software engineering. It distinguishes clustering as an unsupervised learning technique focused on grouping similar objects versus classification as a supervised technique. The paper discusses various methods of clustering, including partitioning, hierarchical, and evolutionary methods, and concludes that evolutionary approaches generally perform better than traditional methods.