Agile software development attempts to enhance our ability to make changes during the product development process. This is valuable because the business world is becoming increasingly chaotic in the following ways:
Customers change their minds or use the product in unanticipated ways.
New competitors appear or existing ones introduce threatening products.
New product technologies arise or planned technologies don't work out as anticipated.