This paper aims to study the critical success factors of agile software development projects. Following a systematic review of the literature, eight success factors were selected as critical success factors of agile software development. A web based survey was designed to collect data about agile practitioners' opinions concerning these success factors. Principal component analysis is conducted to identify the latent dimensions and how the selected success factors of agile development are related. This analysis of the eight success factors resulted in clustering them into two components. The first component labelled as Organizational and People Aspects which consist of five items which are: organizational culture, customer involvement, top management support, team capability and training, and communication. The second component labelled as Technical and Project Management Aspects which consist of three items which are: project management process, delivery strategy, and agile software techniques. The clustering of the success factors of agile projects which presented in this paper will help agile practitioners to understand how these success factors are related to each other, and may help in planning or improving agile training programmes.