The main objective of this research is to study two types of software development methodologies, more specifically, traditional software development methodologies and agile software development methodologies, in order to compare them together. To this end, some of traditional and agile methodologies were presented. Also, the characteristics and limitations of each methodology were introduced. It was found some similarities and differences between traditional and agile methodologies. furthermore, the similarities and differences were found between some of the agile methodologies. In this book, a framework for selecting most suitable agile software development methodology for a given project has been proposed.