Le triangle de la qualité des logiciels: le personnel, le processus et le produit Claude Y Laporte Professeur Département de génie électrique Le développement des logiciels - les défis 2 1
Le triangle de la qualité Processus Produit Personnes 3 SWEBOK* Initiative de IEEE Computer Society Objectifs Identifier le contenu du corpus des connaissances en génie logiciel Fournir la base pour le développement Programmes universitaires Matériel de certification des individus Gestionnaires * SWEBOK: Software Engineering Body of Knowledge 4 2
Commanditaires 5 Domaines de connaissance Analyse des exigences du logiciel Analyse de la qualité du logiciel Conception du logiciel Construction du logiciel Évolution et maintenance du logiciel Gestion de configuration du logiciel Infrastructure du génie logiciel Management du génie logiciel Processus du génie logiciel Test du logiciel 6 3
Exemples de certification American Society for Quality Certified Software Quality Engineer Quality Assurance Institute Certified Software Test Engineer Certified Quality Analyst IEEE Computer Society Certified Software Engineering Professional 7 Le triangle de la qualité Processus Produit Personnes 8 4
Le modèle d évolution des capacités logiciel (CMM) Version 1 publiée en 199 Contient un ensemble minimal de pratiques éprouvées et recommandées Il définit les attentes (le «quoi») Sans trop contraindre l implantation (le «comment») Le CMM propose aussi un cheminement pour la mise en oeuvre des pratiques ( Roadmap ) 9 Niveau Carnegie Mellon University Software Engineering Institute Modèle de maturité - CMM Emphase 5 Processus en D optimisation amélioration continue 4 Maîtrisé 3 Défini Qualité du produit et des processus 2 Gestion de projet Reproductible 1 Initial Processus d ingénierie Héros Secteurs clés Gestion des changements du processus Gestion des changements technologiques Prévention des défauts Gestion de la qualité logiciel Gestion quantitative de processus Revues par les pairs Coordination intergroupes Ingénierie de produits logiciel Gestion logiciel intégrée Programme de formation Définition du processus de l organisation Focalisation organisationnelle sur les processus Gestion de configuration logiciel Assurance-qualité logiciel Gestion de la sous-traitance logiciel Suivi et supervision de projet logiciel Planification de projet logiciel Gestion des exigences Résultats Productivité et et qualité qualité Risques 5
Carnegie Mellon University Software Engineering Institute Pays où des évaluations ont été effectuées et les données ont été transmises au SEI 11 Carnegie Mellon University Software Engineering Institute Types d organisations qui ont évalué leur niveau de maturité 12 6
Carnegie Mellon University Software Engineering Institute Évolution de la maturité Évaluations effectuées entre 1987 et 1: - 1799 évaluations - 138 organisations - 7393 projets 1 2 3 4 5 13 % du budget du projet 45 4 41% Coût pour refaire le travail Début de l amélioration du processus logiciel 35 25 18% 15 11% 5 SEI (1995) 1 2 1988 199 1992 Niveau de maturité 3 6% 4 1994 5% 1996 14 7
Réduction des défauts 25 15 5 1 1 1988 2 2 3 3 199 1992 Niveau de maturité 4 4 1994 15 14% Estimés Données de 1 projets chez Boeing Information Systems Pourcentage sur- sous estimation % -14% Écart de + % à - 145% Écart de - % à + % Absence de donnée historique Principalement niveaux 1 & 2 (Effort = heure-personne) Avec données historiques Niveau3 16 8
Gestion des défauts % 98% 96% 94% 9% Pourcentage du nombre de défauts détectés avant une livraison 94% 95% 97% 99% 99% 88% 88% 86% 84% 8% Version 1 Version 2 Version 3 Version 4 Version 5 Version 6 Temps Données de 1 projets chez Boeing Information Systems 17 Niveau CMM Qualité Cycle Dév Productivité Défauts/MAELOC Relatif Relative 1 n/d 1 n/d 2 89 32 1 3 411 27 8 4 5 5 23 5 126 78 28 Diaz, M, How Software Process Improvement Helped Motorola, IEEE Software Oct 1997 18 9
L agence de transport de New York Contrat de plusieurs centaines de millions $ Octroyé à Bombardier Transport en mai 1999 Le Client exige l atteinte du niveau de maturité 2 pour le maître-d œuvre ainsi que pour une douzaine de fournisseurs Le niveau 2 doit être atteint 24 mois après le début du contrat Le client a imposé 2 évaluations Une première en début de projet Une seconde 24 mois plus tard pour confirmer l atteinte du niveau 2 Un plan d amélioration doit être développé, approuvé par le Client et mis-à-jour mensuellement Un spécialiste AQ vérifie les progrès sur une base régulière Basque () 19 Industrie des télécommunications Société canadienne Actifs de 1,25 million de points de fonction (~ 12 millions de lignes de code) Utilisation du CMM - logiciel Imposition au fournisseur d un niveau X à l intérieur d un temps donné Utilisation du modèle Software- Acquisition CMM (SA-CMM) Amélioration des capacités de gestion du donneur d ordre
Ministère des ressources naturelles du Québec Évaluation formelle du processus logiciel par le Centre de génie logiciel appliqué (CGLA) en mai Atteinte du niveau 2 Ce projet est un des gestes les plus structurants et significatifs que nous avons mis en chantier au cours des dernières années Objectif: niveau 4 Jacques Blouin, Directeur DSI Allen () 21 Caractéristiques d un processus logiciel mature Documenté Utilisé Stabilisé Instrumenté de points de mesures Un processus stabilisé produit des données fiables Géré à l aide des mesures: qualité, délai et coût Instrumenté pour la détection et la correction des défauts à chaque étape du processus eg revue par les pairs Doté de pratiques de préventions de défauts En amélioration constante 22 11
Le triangle de la qualité Processus Produit Personnes 23 Exemple d évaluation d un produit Société de télécommunications Évaluation requise pour un achat logiciel majeur Pour être crédible, la démarche d évaluation doit être: Répétable, reproductible, impartiale et objective Trois étapes de la démarche d évaluation Définir de façon formelle les besoins techniques et les qualités attendus du produit logiciel Déterminer le niveau de criticité du logiciel 4 niveaux de criticité définis Bâtir le diagnostique sur des faits constatés et incontestables April (1) 24 12
Norme ISO/CEI 9126 Qualité des produits MAINTENABILITÉ Effort nécessaire pour diagnostiquer les déficiences ou les causes de défaillance ou pour identifier les parties à modifier CAPACITÉ de FONCTIONNEMENT Existence d un ensemble de fonctions et leurs propriétés données Les fonctions sont celles qui satisfont aux besoins exprimés et implicites pour des tâches données PORTABILITÉ Aptitude du logiciel à être transféré d un environnement à l autre FIABILITÉ Aptitude du logiciel à maintenir son niveau de service dans des conditions précises et pendant une période déterminée Rapport existant entre le niveau de service d un logiciel et la quantité de ressources utilisées, dans des conditions déterminées FACILITÉ D UTILISATIONISATION Effort nécessaire pour RENDEMENT l utilisation et sur l évaluation individuelle de cette utilisation par un ensemble défini ou implicite d utilisateurs 25 Évaluation d un produit OBJECTIFS VISÉS OBJECTIFS ATTEINTS Excellent Bon Moyen Mauvais Mauvais Moyen Bon Excellent Facilité d analyse Facilité de modification Stabilité Facilité de test Facilité d adaptation Facilité de l installation Conf règles de portage Interchangeabilité Compor t / Temps Compor t / Ressources Maturité Tolérance aux fautes Possibilités de récupération Facilité de compréhension Facilité d apprentissage Facilité d exploitation Aptitude Exactitude Intéropérabilité Conformité règlementaire Sécurité SUR QUALITÉ CONFORME April (1) RISQUÉ NON ACCEPTABLE 26 13
Méthode d évaluation de la qualité d un logiciel Repose sur une définition de la qualité Minimization of the life-cycle risks of a system Méthode indépendante de l architecture, d un language ou d un système Évaluations effectuées à ce jour systèmes 51 millions lignes de code Martin (1996) 27 Éléments du modèle de qualité Secteurs de qualité (4) Portabilité Extensibilité Maintainabilité Descriptivité Facteurs de qualité (7) Modularité Indépendance Auto-description Documentation Simplicité de la conception Cohérence Gestion d anomalies Attributs de la qualité (76) Martin (1996) 28 14
Exemple de résultats d évaluations de fournisseurs 9 8 7 6 5 4 9 8 7 6 5 4 9 8 7 6 5 4 9 8 7 6 5 4 Profils de risque des secteurs de qualité Maintainabilité Extensibilité Portabilité Descriptivité Profils de risque des facteurs de qualité 9 8 7 6 5 4 9 8 7 6 5 4 9 8 7 6 5 4 Cohérence Indépendance Modularité 9 8 7 6 5 4 9 8 7 6 5 4 9 8 7 6 5 4 9 8 7 6 5 4 Documentation Auto-description Gestion d anomalies Simplicité de conception Martin (1996) 29 Le triangle de la qualité Processus Produits Personnes 15
Cheminement - une proposition Atteindre un niveau 2 de maturité Rencontrer les échéanciers, budget et fonctionalités Planifier l atteinte du niveau 3 Ajouter la réduction des défauts Accompagner ses fournisseurs (eg DoD) Débuter la définition et la mesure des facteurs de qualité eg fiabilité, maintainabilité, portabilité, etc Planifier le niveau 4 Rencontrer systématiquement les objectifs de qualité, d échéancier et de coût 31 Références American Society for Quality-Canada http://wwwasqmbca/indexhtm Quality Assurance Institute http://wwwqaiusacom Modèle de maturité (CMM) http://wwwcrimca/indexepl?selec=4131&href=/cgla/services/ processus/cmmhtm Données du profil de maturité http://wwwseicmuedu/sema/profilehtml Données de Raytheon http://wwwseicmuedu/publications/documents/95reports/95t r17html Données de Boeing Vu, J, Software Process Improvement Journey, Actes: 8th Software Engineering Process Group Conference, San Jose, Californie, mars 1997 32 16
Références Basque, R, Quand un secteur industriel se prend en main: y-a-til du logiciel dans le train?, Présentation au SPIN de Montréal, mars Corpus des connaissances en génie logiciel (SWEBOK) http://wwwswebokorg Allen et al, Rapport d analyse de risque et d évaluation de processus, Ministère des Ressouces Naturelles, Direction des services informatiques, mai April, A, Batelco : Bilan technique qualité logiciel, présentation à l ETS, avril 1 Martin, R, Providing a Framework for Effective Software Quality Assessment, Actes: 6 th Annual Symposium of INCOSE, Juillet 1996 33 Questions??? Mes coordonnées: Téléphone: (514) 396-8956 Courriel: claporte@eleetsmtlca 34 17