Abstract Developers have long been plagued with the issue of delivering quality software that is built and delivered on time, on budget, and that meets the customer’s needs. This is one of the basic reasons that software development processes came into existence. Other engineering fields have formal processes. The software engineering field hoped that the same initiative would provide the needed results for developing software. Hence, the emergence of the traditional development processes such as the Waterfall model. Then, in the 1990’s, the agile software development processes began to emerge. The Waterfall model and other traditional models are burdensome and document intensive. They focus on the process and not the people who develop the software. It is also believed that it is difficult to handle changing customer requirements. This is the main reason why software is often late and over budget. The customer is not sure what he or she wants or else the needs change once the software has been developed. It is believed that the agile methodologies are better than the current methodologies such as the Waterfall model. What make agile better? It is light weight, people focused, adaptive, less documentation intensive, and handles changing requirements better. The above positives appear to resolve the drawbacks of the Waterfall model. One agile method is Extreme Programming. It promotes twelve practices. Another agile method is Feature Driven. It promotes two week cycles so that the customer is able to review the product at regular intervals to determine if it is meeting their needs and/or is what they had intended. Adaptive Development is another agile methodology that also applies the principles and values of the Agile movement as well. This thesis will describe the three agile software development processes of Extreme Programming, Feature Driven, and Adaptive Development. Then, a company with certain characteristics and that currently employs a successful Waterfall-like development process, will be analyzed. It will be suggested whether the company should stay with its current process, reengineer its process to include some agile practices, or switch to an agile methodology.