ABSTRACT
The most common answers are
Changing requirements
Customers not available
Customers not knowing what they want
No repeatable process
Lack of management buy-in
Lack of resources
Lack of skilled business analysts
No common language
Developers do not understand the business
No tools