julbox.net
Faire simplement ce que le client demande


La philosophie

L'informatique met souvent en oeuvre une multitude d'élément simple qui une fois interconnectés deviennent compliqués. Pour éviter les problèmes la philosophie KISS : Keep It Simple Stupid est de mise. Le seul objectif qui importe est : «le client doit avoir un produit conforme à ses attentes livré dans les délais, et il doit pouvoir être autonome avec.» Les points suivants sont nécessaires pour atteindre un tel objectif.

L'ordre de mission

Il doit être écrit de préférence en langage usuel et indiquer le but à atteindre. Il doit stipuler les priorités (sécurités, coût, qualité, maintenabilité, vitesse) et les compromis qui peuvent être faits, ainsi que le périmètre géographique et opérationnel d'intervention.

Les jalons

Connaître les moments où l'on sait que l'on a terminé une partie du projet, c'est estimer le bon déroulement d'un projet. Un jalon c'est par exemple de dire 50% du projet est atteint quand telle fonctionnalité est achevée. Cela permet à tout le monde de savoir si nous sommes dans les délais, et de savoir quand il faut ajuster le tir.

Cahier de recettage

Un cahier de recettage (une liste de question de type oui/non concernant des points qui doivent être validés) permet à tout le monde de savoir si la mission est bien terminée. Cela donne au fournisseur la satisfaction du travail terminé. Pour le client cela lui apporte la tranquilité d'esprit. Il n'a pas besoin d'être extensif, il doit contenir l'essentiel.

Le chiffrage

La plupart des erreurs majeurs en informatique concernent le chiffrage. Il s'agit assez souvent d'une mauvaise conception de l'informatique. L'informatique n'est pas un métier industriel, c'est un art qui nécessite créativité et intuition. Le chiffrage se fait surtout en se basant sur l'expérience. Pour cela quelques points sont à garder à l'esprit :

Quelques repères :

phase pourcentage en temps par rapport à la phase de développement
Conception 15%
Programmation 20%
Documentation 15%
Deboggage 50%
Maintenance 100%
Intégration système 300%

Conception, programmation, documentation et déboguage constituent la phase de développement. Ces ordres de grandeurs sont issues des références bibliographiques citées ci dessous. La programmation qui est souvent confondue avec le développement ne représente qu'une part minime du total des coûts liés au développement d'un logiciel : si un stagiaire fait un programme qui marche en 1 semaine, son coût total pour le rendre utilisable est donc de 10 semaine homme s'il n'a pas besoin d'être «packagé» (soit environ 25 000 Euros à 500 Euros HT par jour).

L'hypothèse optimiste

L'hypothèse classique qui est faite en chiffrage est d'imaginer que tout se passera bien. C'est rarement le cas ; un lien qui bagotte, une machine pas encore livrée ou non-conforme, tous ces petits incidents de la vie courante ont un impact sur le temps de développement et d'intégration (facteur 2).

Cycle de développement

Il n'y a pas de solutions universelles, cependant le modèle en spirale convient plutôt bien pour les projets de tailles moyennes à petites, ou devant être livrés rapidement : on ne construit pas le logiciel, on le fait croître en faisant d'incessant aller retour entre le développement et les besoins clients ; ça évite de perséverer dans d'éventuelles mauvaises voies.

Le théorème de Brooks

Quel est le premier réflexe quand il y a du retard ?
Rajouter des ressources. Le coûts liés à la communication supplémentaire ne fera que rendre le projet encore plus en retard.

Références bibliographiques



© Julien Tayon 2005