Dans la recherche comme dans l'industrie, le génie logiciel est presque toujours une entreprise chaotique et risquée. Des études dans le secteur du logiciel ont montré que :
Face à ce problème plusieurs approches sont possibles. On peut penser à l'introduction d'outils qui permettent une programmation plus "sûre" (typage par exemple). Cependant, la relative faiblesse des outils actuels n'explique pas la proportion anormalement élevée d'échecs dans le domaine du logiciel.
Une autre approche, assez radicalement différente, a émergé ces dernières années : l'étude des AntiPatterns. Plutôt que de vouloir garantir le fonctionnement correct du logiciel (objectif ambitieux compte tenu du taux d'échec actuel), il s'agit de déceler les pratiques qui mènent à un échec quasi-certain des projets.