mercredi 17 décembre 2008

Développements et spécifications

Dans la vie il y a des jours ou on veut rire, mais on ne peut pas; alors il nous faut trouver un moyen de le dire, de s'exprimer. Je vais le faire là. Dans le développement de logiciel on a en général plusieurs grandes étapes distinctes :
  • Rédaction des spécifications (générales courtes puis détaillées, et techniques courtes puis détaillées)
  • Le développement en lui même
  • La recette (les test et l'évolution des spécifications initiales)
  • Les corrections (la suite du développement)
  • Un autre recette (en cas de validation on va à l'étape suivante, sinon on reviens à la précédente avec de nouvelles évolutions)
  • La mise en production (là en général c'est champagne)
Donc une fois que l'on a ces bases, il devient évident qu'aucun logiciel ne devrait sortir comme cela se passe de nos jours à savoir :
  • Rédaction et développement en même temps
  • Recettes et corrections simultanées
  • Mises en production de versions intermédiaires (n.x.y_z...)
Ce problème viens d'un défaut de compréhension de la méthode dite "Agile". En effet, si cette méthode prône une certaine réactivité, une certaine communication entre les équipes de développement et le client d'un projet, elle ne prône en aucun cas la précipitation ni l'accumulation de spécification de correction et encore moins la génération de régressions en chaîne.

En fait quand on parle à un client de méthode agile, le client entends "rapide", et confonds vitesse et précipitation. L'erreur est humaine mais en ayant un projet dont les spécification fonctionnelles courtes et détaillées sont abouties au moment d'en passer la commande, je pense qu'il y aurait moins de problèmes par la suite. Corriger et faire évoluer des spécifications est plus facile à faire sur des briques stables que sur des versions encore en développement. Par ailleurs corriger du code instable pour en faire un code instable pour une recette est parfaitement contre productif également.

Enfin bon tout cela pour dire que bien que l'informatique en soit encore à l'enfance, on a beaucoup à faire avant l'age adulte; nous n'avons pas encore fait son adolescence et que ce jour là, ça ne va pas être la fête.

Aucun commentaire: