mercredi 23 juin 2010

Plus de complexité, mais plus d’assurance qualité aussi !

L’accroissement de la complexité des systèmes d’information entraîne inexorablement une augmentation de la probabilité d’occurrence d’erreurs dans les projets de développement informatique.

De la même manière la criticité des systèmes d’information augmentant, les erreurs non corrigées ou corrigées en retard peuvent coûter très cher aux personnes qui mettent en service l’outil développé. Ce constat est connu depuis bien longtemps, et aujourd’hui, nous disposons d’outils d’assurance qualité pour vérifier l’état du système développé à chaque étape de son développement.

La méthode SMV est une méthode de gestion de l’assurance qualité qui un peu à la manière de la V & V, va s’intégrer avec des outils et moyens éprouvés, dans le cycle de développement logiciel pour réduire, en amont, les risques fonctionnels et techniques présents dans tous les développements informatiques.


1. Vers un accroissement de la complexité des projets informatiques

1.1. L’innovation, un passage obligé pour la croissance des entreprises

Les entreprises sont vouées à innover. L’entreprise qui n’innove pas créera de moins en moins de valeur ajoutée et perdra progressivement sa compétitivité. Par contre, l’entreprise qui innove saura garder sa compétitivité, mais rencontrera fatalement d’autres problèmes, en particulier sur la maintenance et l’amélioration de ses outils. Comme le dit Pierre Bonnet [1] : « Le système d’information suit une courbe de complexité qui est indexée sur celle de l’innovation et du changement ». L’entreprise doit savoir garder le contrôle de ses développements et de ses outils informatiques. L’accroissement de la complexité entraîne inéluctablement celui du coût de développement des projets informatiques, mais aussi celui du coût dû aux tests et à la validation des systèmes finaux.

1.2. La dérive, un risque proportionnel à la taille d’un projet informatique

D’après le NIST (National Institute of Standards and Technology), 80% du coût de développement d’un projet informatique est consacré à l’identification et à la correction des erreurs. De la même manière, d’après Djenana Campara, Directeur technique de Klocwork, une erreur qui coûte un dollar à corriger par son programmeur coûtera cent dollars à corriger après intégration dans le système complet. Ainsi, en 2002, les erreurs auraient coûté à l’économie américaine 60 milliards de dollars [2], soit 0,57% du PIB américain.

Attendre les phases de tests pour commencer à corriger les erreurs d’un projet devient dangereux, particulièrement avec l’augmentation de la taille et de la complexité des projets informatiques. Le Standish Group ne fait pas non plus une analyse très optimiste de la réussite des projets informatiques ; en effet, dans son rapport intitulé « Extreme Chaos », il classe les projets informatiques en trois catégories :

  • les projets réussis,
  • les projets contestables, ceux qui ont été livrés en retard, qui étaient hors budget ou qui comportaient moins de fonctionnalités que celles demandées initialement,
  • les projets ratés, ceux qui n’ont jamais été finis ou bien ont été achevés mais jamais utilisés.

Depuis 1994, le Standish Group tient des statistiques sur ces trois catégories. Sur la période 1994-2009 et pour les États-Unis, les taux relevés sont ceux du tableau 1 et de la figure 1 :

Figure 1 : Taux de réussite des projets informatiques de 1994 à 2006 d’après le Standish Group


Tableau 1 : Évolution du taux de réussite (en %) des projets informatiques de 1994 à 2009 selon le Standish Group [3]
19941996199820002002200420062009
Réussis1627262834293532
Contestables5333464951534644
Abandonnés3140282315181924


La stagnation du taux de réussite des projets informatiques depuis 2000 autour de 31,6% et l’augmentation du taux d’échec depuis 2002 prouve que les projets sont encore trop souvent ratés ou abandonnés.
Ces trois constats, l’augmentation de la complexité des projets informatiques, l’augmentation exponentielle du coût de correction d’une erreur en fonction du moment de sa découverte et l’incapacité des équipes à mener un projet à bien jusqu’au bout, sont la preuve de la présence d’écueils et de difficultés majeures dans la réalisation de projets informatiques. Une solution déjà appliquée est la mise en place de procédures d’assurance qualité dans la gestion des projets informatiques. Mais est-ce suffisant au vu du seul coût de la correction d’une erreur ?

2. Vers une amélioration de l’assurance qualité des systèmes informatiques.

En 2007, les dépenses en matière de qualité des SI des grandes entreprises françaises ont représenté 535 millions d’Euros. De plus, 53% des entreprises françaises estiment que l’assurance qualité de leurs systèmes d’information aura un impact de plus en plus important sur leur résultat. Ces deux constats conduisent à penser qu’on en est plus à se demander combien coûte la mise en œuvre d’un système d’information, mais plutôt combien coûtera à l’entre- prise un système défaillant [4]. L’assurance qualité est un processus indispensable à associer au développement de l’entreprise.

2.1. Une définition de l’assurance qualité

L’assurance qualité c’est : « L’ensemble des actions préétablies et systématiques nécessaires pour donner la confiance appropriée en ce qu’un produit ou service satisfera aux exigences données relatives à la qualité ». C’est un ensemble de procédés à mettre en place à chaque étape d’un projet informatique qui permet de connaître, à tout instant et par chaque partie prenante, l’état du projet en cours et ses différentes étapes précédentes. Les procédés de l’assurance qualité répondent entre autres aux problématiques de la V & V (Vérification & Validation). Mais les outils de l’assurance qualité sont ils suffisants pour répondre aux problèmes croissants des SI dus à l’augmentation de la complexité et de la taille des projets informatiques ?
Les outils de l’assurance qualité sont, par exemple, les revues, les audits, les lectures croisées, les revues par les pairs, les revues techniques, les inspections qualité ou d’autres, mais ces outils, même si ils permettent d’identifier les erreurs et omissions liées au développement du SI, ne vont pas permettre d’identifier les erreurs suffisamment tôt pour qu’elles ne représentent pas un budget quatre fois supérieur à celui du reste du projet.
Pour résoudre ces erreurs en amont, là où elles sont moins les moins onéreuses à corriger, il faut mettre en place des méthodes dès les premiers instants du projet afin de simplifier chaque étape importante de la conduite d’un projet de système d’information.

2.2. La vérification et validation, un procédé technologique de l’assurance qualité

Lorsqu’elles sont appliquées à chaque étape d’un projet, la vérification et la validation répondent aux problématiques de la qualité en se situant à l’intérieur des cycles de développement itératif des projets.

  • La vérification : Elle a pour but de montrer que l’activité a été bien faite, qu’elle a été conforme à son plan de réalisation et qu’elle n’a pas introduit de défaut dans le résultat. Pour réaliser ces trois objectifs, il faut disposer, à chaque étape, de tests prêts à être exécutés d’abord sur un modèle puis sur le système réel.
  • La validation : Elle a pour but de montrer que l’activité s’est conformée à son objectif. Elle assure que le résultat de l’activité conduite répond au besoin pour lequel elle a été menée. Pour réaliser cet objectif, il faut disposer de tests décrits directement à partir des exigences pour les exécuter à chaque étape du projet et vérifier que le produit est conforme aux exigences.

L’avantage de la V & V est qu’elle s’intègre dans le cycle de vie du développement logiciel. Contrairement aux autres procédés de l’assurance qualité, elle propose des solutions qui impactent techniquement le processus de réalisation.


Références:
  1. http://www.bestpractices-si.fr/index.php? option=com_content&task=view&id=423&It emid=73
  2. NIST, US Dept. of Commerce, The Economic Impacts of Inadequate Infrastructure for Software Testing, mai 2002.
  3. http://www.projectsmart.co.uk/the-curious-case-of-the-chaos-report-2009.html
  4. http://www.itrmanager.com/articles/70332/qualite-systeme-information.html

Cet article est disponible en téléchargement à l'adresse : http://www.cogenit.fr/index.php/ressources/livres-bleus/smv-methode-agile-assurance-qualite

Aucun commentaire:

Enregistrer un commentaire