Quand on doit choisir la manière d'aborder un projet, il existe 3 notions fondamentales qu'il faut connaître et évaluer : la qualité, le coût et le délai.
Comprendre le triangle
- Qualité : Il s'agit du soin qui est apporté à la réalisation fonctionnelle et technique du projet. Un projet de médiocre qualité remplira les besoins immédiats du client, en s'autorisant un certain nombre de raccourcis. Un projet de bonne qualité aura été spécifié pour couvrir certains besoins futurs identifiables, et offrira une ergonomie adaptée, des performances homogènes, une évolutivité étudiée, une documentation complète.
- Coût : Un client est prêt à dépenser une certaine somme pour un projet donné. La valeur du projet peut éventuellement s'adapter à un certain nombre de critères, mais il y a forcément un seuil au-délà duquel il est impossible de le rentabiliser. La notion de coût englobe aussi bien les frais d'étude (en fonction du temps passé aux spécifications fonctionnelles et techniques) et de réalisation (suivant le nombre de développeurs nécessaires, le matériel mis à leur disposition, la présence d'un équipe de test et de validation, ...), que les frais d'exploitation (matériel nécessaire pour faire tourner le projet en production, salaire de l'opérateur de maintenance, ...).
- Délai : Savoir combien de temps doit durer la réalisation d'un projet n'est pas aisé, même si cela fait partie du travail d'un ingénieur. Certains projets ne sont pas urgents, ni même importants, mais ils comportent forcément une deadline à partir de laquelle ils deviennent caduques.
Utiliser le triangle
Ces trois points sont inter-dépendants, et doivent être pris en compte soigneusement. Il faut donc comprendre - et faire comprendre - qu'il existe 3 possibilités :
- Rapide et pas cher => Mauvaise qualité
C'est ce que demandent beaucoup de clients, sans se rendre compte qu'un projet vite fait et à moindre coût aura forcément des lacunes. Cela peut être satisfaisant pour un prototype qui doit valider un concept. Mais il faut bien expliquer les risques que cela peut faire prendre à moyen terme.
- Rapide et de bonne qualité => Cher
Si le client peut se le permettre, c'est la solution parfaite. Un projet très important sera traité de manière prioritaire sur les autres, se verra affecté plus de moyens humains et techniques. Et donc forcément, cela a un coût important.
- Bonne qualité et pas cher => Lent
Un projet bien fait, mais qui ne coûte pas cher ? Il va prendre du temps à être réalisé. Pour diminuer les coûts, ce projet va se retrouver à jouer le "bouche-trou" ; sa priorité est plus faible, et "on y travaille quand on a du temps". Pareil pour les ressources techniques, qui sont disponibles d'abord pour les autres projets.
Ce qu'il faut éviter
Ce qui n'existe pas, ou ne devrait pas exister :
- Rapide, de bonne qualité et pas cher
C'est un fantasme auquel beaucoup de "décideurs" continuent de rêver. Il faut être complètement déconnecté des réalités du monde du travail pour croire qu'on peut obtenir une réalisation de qualité irréprochable, pour un coût proche de zéro, livrée dès le lendemain de la signature du contrat. Fuyez les clients qui sont inflexibles sur ces aspects.
- Lent, de mauvaise qualité, et cher
Personne n'est prêt à payer cher pour un mauvaise réalisation qui ne sera pas disponible rapidement. Et pourtant, combien de projets se retrouvent à être repoussés sans arrêt, et le client obligé de payer pour ajouter de nouveaux développements sans lesquels le projet ne peut pas être terminé, et qui au final ne remplit pas le cahier des charges ? Cela est souvent représentatif de 2 choses : le client ne sait pas ce qu'il veut, et le travail de spécification n'a pas été fait correctement.