Grande boule de boue
En programmation informatique, une grande boule de boue est un terme utilisé pour décrire un système ou logiciel informatique n'ayant pas d'architecture évidente.

En génie informatique 
Le terme a été popularisé par Brian Foote et Joseph Yoder dans leur article de 1999 «  », avec la définition suivante :

Des systèmes en « grande boule de boue » ont normalement suivi un long processus de développement, avec des individus différents travaillant sur diverses parties. Souvent, des systèmes développés par des personnes sans formation d'architecture informatique ou de programmation peuvent tomber dans cet antipattern.

Néanmoins, Foote et Yoder ne condamnent pas universellement la programmation en « grande boule de boue », notant que cet antipattern est courant parce que le système qui s'ensuit fonctionne – du moins initialement. Par contre, les logiciels de ce type deviennent extrêmement difficiles à maintenir et à améliorer.

Les développeurs ou mainteneurs ayant pour charge un projet en grande boule de boue sont fortement encouragés à l'étudier et à comprendre ses fonctionnalités afin de créer les spécifications d'un système bien architecturé ayant pour but de le remplacer. Des changements de technologies, par exemple d'un système client-serveur vers une plateforme web ou l'utilisation d'une base de données au lieu de fichiers, peuvent motiver la décision de tout reprendre depuis le début.

Voir aussi
 Méthode agile

Notes et références 

Antipattern
Programmation informatique
Métaphore