A variety of life cycle models for software development are generally available. Many of the variations were composed to overcome problems in the classic waterfall model. However, it is generally difficult to compare and contrast the methods and very little literature is available to guide developers and managers in making choices. Moreover, in order to make informed decisions, developers require access to real data that compares the different models and the results associated with the adoption of each model. An experiment in which 15 software teams developed comparable software products, using four different development approaches (V-model, incremental model, evolutionary model, and extreme programming), is described. Extensive measurements were taken to assess the time, quality, size, and development efficiency of each product. The experimental data collected and the conclusions related to the choice of method, its impact on the project and the quality of the results, are presented.