La genèse d’un programme pour une entreprise
La genèse :
Au commencement était l’Appel d’Offres et l’Appel d’Offres était sans forme ni structure et l’obscurité s’étendait sur la face du Client, et la face du Client se détournait de la Compagnie.
Aussi la Compagnie dit : « Qu’il y ait une proposition »
Et alors il y eut une proposition, et le Client vit que cela était bon, et la face du Client se tourna à nouveau vers les Travaux de la Compagnie.
Alors la Compagnie rassembla toutes les espèces de créatures, et de ce rassemblement naquit l’Équipe Projet et l’on dit que cela était bon. De l’Équipe Projet naquirent les Ingénieurs et les Programmeurs et plusieurs autres formes de vie.
Et l’un fut choisi dans cette multitude, qui fut élevé au dessus de tous les autres et qui fut appelé « Chef de Projet ». Et il eut a conduire l’Équipe Projet par le chemin de la productivité pour le bien de la Compagnie.
Et il advint que la pensée du Chef de Projet fut troublée par l’Appel d’offres et il crut alors que toutes choses étaient possibles, bien qu’il n’existât point, alors, de spécifications.
Donc le Chef de Projet ordonna que tous les Programmeurs soient rassemblés en un même lieu et il parla a leur chef, qui fut appelé « Chef Programmeur » : « Qu’il y ait un Planning, par lequel je connaîtrai la Date de Livraison, et je te ferai responsable pour l’accomplissement de ce planning ». Alors le Chef Programmeur vit au devant de ses collaborateurs et leur demanda : « Comment ceci se fera-t-il ? ».
Et ses adjoints se séparèrent, chacun a sa table, et ils estimèrent, comme était leur coutume. Et il advint que chaque Programmeur apporta une estimation et après beaucoup de soupirs et de grincements de dents, toutes les estimations furent harmonisées et résumées en un monument qui fut appelé Plan de Réalisation. Et le Chef Programmeur amena le Chef de Projet au Plan de Réalisation, disant : « Regardez l’accomplissement prendra de nombreux mois ». Mais le Chef de Projet ne fut pas satisfait et dit : « Je t’avais élevé des profondeurs et donné tant de feuilles de codage et malgré cela tu n’as pas compris l’Appel d’Offres ; ton Plan de réalisation est trop long ».
Alors le Chef de Projet paya des consultants, autorisa beaucoup d’heures supplémentaires et supprima toutes les vacances.
Puis il parla au Chef Programmeur : « Regarde, vois tout ce que j’ai fait ; la date de Livraison sera dans une année ».
Et le Chef Programmeur mit ses collaborateurs à analyser et à coder et il y eut de nombreuses réunions et beaucoup d’heures d’ordinateur furent utilisées à ce travail, bien qu’il n’y eut encore aucune Spécification.
Et il advint que le Chef de Projet examina les analyses et vit que cela était trop ambitieux et il sut qu’ils ne pourraient l’accomplir pour la Date de Livraison. Alors le Chef de Projet ordonna au Chef Programmeur de séparer l’étude en deux parts. II appela l’une « Fonctions Indispensables » et il appela l’autre « Options » – et le Client dut accepter.
Et le Chef de Projet ordonna : « Que les Sociétés de Logiciel envoient leurs Représentants et qu’il y ait un Système de Gestion de Bases de Données » et il en fut ainsi.
Les représentants présentèrent toutes sortes de brochures qui annonçaient des choses nombreuses et merveilleuses – chacun en accord avec sa propre organisation de fichier. Et il advint qu’un Système de Gestion de Bases de Données fut choisi et le Chef Programmeur dit que cela était bon et que plus de programmeurs étaient nécessaires si tout devait être accompli pour la Date de Livraison.
Donc l’Équipe de Projet fut augmentée presque sans limites. Le Chef de Projet, surveillant cela de loin, dit : « Qu’il y ait une Organisation » et il y eut une Organisation.
Et l’Équipe de Projet fut divisée en nombreux groupes qui ne se parlaient pas l’un à l’autre et il fût dit que, peut-être, cela était bon. Le Chef Programmeur appela certains « Programmeurs Confirmés » et il appela les autres « Programmeurs débutants » et il donna pouvoir aux premiers sur les seconds.
Et les Programmeurs Confirmés virent que cela était bon tandis que les Programmeurs Débutants virent cela autrement.
Et le Chef Programmeur exhortait ses collaborateurs à des efforts encore plus grands car la Date de Livraison était proche et le souffle du Chef de Projet pesait sur sa nuque.
Les Programmeurs Confirmés et les Programmeurs Débutants s’effrayèrent à la fois. Ils luttèrent de toutes leurs forces pour satisfaire le Chef Programmeur avec beaucoup d’heures supplémentaires et de nombreux commentaires, et chacun coda et dessina des organigrammes, chacun à sa propre mode. Le Chef de Projet, voyant cela, ne l’aima pas et ordonna « Qu’il y ait des Standards » et il y eut des Standards mais les Programmeurs ne les aimèrent pas et la productivité chuta. Quand il apprit ceci le Chef Programmeur prit peur d’être rejeté de sa haute fonction et ainsi il ordonnât : « Qu’il ait des États d’Avancement » et il y eut des États d’Avancement.
Le Chef Programmeur regarda les États d’Avancement et il vit que la Date de Livraison ne serait pas tenue. Aussi, au dixième mois, le Chef Programmeur se dressa, brossa son costume, rasa sa barbe et vint devant le Chef de Projet, se prosternant, et accusant, et appelant la malédiction sur toutes les espèces de créatures qui vendaient du matériel et du logiciel. Et le Chef Programmeur demanda une prolongation.
Ce qui provoqua la colère du Chef Projet et amena des doutes sur la légitimité des ancêtres du Chef Programmeur, jusqu’à la troisième et la quatrième génération incluses, et l’on battit sa coulpe et il y eut beaucoup de cheveux arrachés – principalement du Chef Programmeur. Et le Chef de Projet ordonna au Chef Programmeur de mettre en oeuvre tout le personnel des Sociétés de Service et tous les consultants. Mais le Chef Programmeur refusa de dire que tous étaient nécessaires car il n’y avait, pas encore, de spécifications.
Et il advint qu’une prolongation fut obtenue et le Chef programmeur revint vers ses collaborateurs apportant ces nouvelles et la joie et l’entrain revinrent parmi les terminaux et la machine à café s’épuisa.
Au vingtième mois, le Chef Programmeur dit : « Que les modules soient intégrés, chacun avec les autres, afin que les Test Système puissent commencer ». Et il en fût fait ainsi et de grandes difficultés apparurent et de nombreuses heures supplémentaires furent dépensées à chercher pourquoi les modules ne voulaient pas s’intégrer, car il n’y avait pas de documentation et, pas encore, de spécifications.
Puis, au vingt-quatrième mois, le Chef Programmeur alla vers le Chef de Projet et lui dit « Regardez, j’apporte de grands espoirs de grandes joies pour nous et pour le Client, car en ce jour le Système a fonctionné ». Et soudain, il y eut autour d’eux une foule, une multitude de commerçants acclamant le Chef Programmeur et chantant : « Gloire à la Compagnie , au Chef de Projet et au Chef programmeur et s’il vous plaît pouvez-vous faire cette petite modification ? ».
Et le Chef Programmeur se dressa et leur parla en ces termes : « Nous ne nous y risquerons pas car il n’y a pas de documentation et, pas encore, de spécifications »
D’après un texte anglais paru dans « SDL NEWSLETTER » n°2.