No meu entendimento o maior empecilho são as mudanças que podem ocorre no decorrer de um projeto de software, mudanças do cenário proposta no inicio do projeto, ideias dos usuários envolvidos, prazos de mudanças legais que possam afetar o projeto e mudanças tecnologicas que podem afetar a entrega do projeto.