L’expérience lors de mon stage chez Microsoft de deux projets « évolutifs » a souligné dans mon esprit une réalité du monde du développement : bon nombre de projets se déroulent mal car le contour fonctionnel des projets sont instables ou mal définis. Mais préconiser un renforcement des méthodologies pour mieux spécifier un projet n’est pas forcément intéressant car les besoins peuvent évoluer entre la phase de spécification et la mise en production.
Finir un projet inutile dont le contour est rigide pour ensuite en créer un second servant à adapter le produit du premier en solution convenable aux nouveaux besoin est inacceptable. Il est dès lors important de définir l’implication de l’utilisateur/commanditaire/client dans le processus de développement. S’il est pleinement présent, il est possible de définir un cadre général puis d’adapter le développement à ses demandes.
A l’inverse, si peu de rendez-vous peuvent être pris, il est important d’avoir une organisation du développement définie et respectée : étude générale, conception des spécifications, maquette de démonstration, réalisation, prototypage et expérimentation, ces cinq dernières étapes pouvant s’itérer. La rencontre avec l’utilisateur se fait alors à la démonstration et à l’expérimentation. Durant ces rendez-vous, toutes les discussions ont lieu en s’appuyant sur les spécifications. De telles organisations ne garantissent cependant pas forcément la réussite du projet pour diverses raisons :
-
Les spécifications ayant été trop rapidement produites, il n’est pas possible d’y adhérer avec la technologie choisie ou les compétences possédées.
-
Les spécifications ne reflètent plus une solution en adéquation avec le besoin final.
-
Les spécifications sont trop ambitieuses et le projet dépasse sa durée. Il est alors important de lever des alertes et de prendre des contre-mesures afin d’empêcher l’échec complet du projet :
-
Restreindre les spécifications tout en adhérant au maximum au besoin initial.
-
Établir un nouveau cahier des charges délimitant un nouveau contour de projet pour les modifications fonctionnelles ultérieures. Et vous, avez-vous des expériences de projets pleinement et parfaitement spécifiés ou au contraire cauchemardesques car trop bouillons ?