21/01/2010 La Qualite Logiciel(le) Eric Bourreau [email protected] Un peu de planning • • • • • • • Semaine 3 : E. Bourreau (UM2/Bouygues) Qualité / CMMI Semaine 4 : S. Bourrier (SYNAPSE) 10h-11h45 Intégration Continue Semaine 5 : T. Sinot (LOGICA) Conduite de Projets Avancés, CRM, CMMI, Qualité, Testing Semaine 6 : S. Crespin (SMILE) Etude de cas : Démarche Qualité C. Nebut (UM2) JUnit et Testing [CM et TP] Semaine 8 : C. Nebut Tests de structures [CM / TD / TP] Semaines 9 et 10 : S. Mathon (Wembla) Extreme Programming et Méthodes Agiles (étude de cas : CM / TD) Semaine 10 ou 11 : C. Nebut (UM2) TD on TDD Rappel : Le Projet 1 21/01/2010 La démarche informatique Pourquoi l’Assurance Qualité Définitions • Qualité : – Aptitude d’un ensemble de caractéristiques intrinsèques à satisfaire des exigences (ISO 9001) – Ensemble des propriétés et caractéristiques d’un produit ou service qui lui confère l’aptitude à satisfaire les besoins exprimés ou implicites (conformité aux exigences) (ISO 8402) • Assurance qualité : – Mise en œuvre d'un ensemble approprié de dispositions préétablies et systématiques destinées à donner confiance en l'obtention d'une qualité requise. • Manuel qualité / Plan Qualité Logiciel : – Document décrivant les dispositions générales prises par l'entreprise pour obtenir la qualité de ses produits ou de ses services. • Clauses qualité : – expression des exigences (contractuelles ou non) 2 21/01/2010 Définitions (suite) • Logiciel : – Ensemble des programmes, procédés et règles (et éventuellement de la documentation), relatifs au fonctionnement d'un ensemble de traitement de l'information. • Produits : – Programmes sources et machines, des procédures et des ensembles de données enregistrées. • Plan de développement : – Document décrivant pour une réalisation donnée, la décomposition en produits et en fournitures, les moyens à mettre en œuvre, les tâches nécessaires à la réalisation et les délais à respecter. • Client et Fournisseur : – Le client commande un logiciel, le fournisseur le réalise. La normalisation de la qualité • Les normes – Organismes de normalisation : AFNOR et ISO – Norme du premier type : celle qui décrit l’état d’une technique – Norme du deuxième type : celle qui décrit le modèle. – Norme du troisième type : celle qui porte sur l’organisation et la gestion de la qualité elle-même. La normalisation de la qualité • Dans le domaine des systèmes d’information – Normes du premier type : « caractéristiques » d’éléments techniques. • Exemple : standard de fait « Windows ». – Norme du deuxième type : • Méthodes de conception. – Norme du troisième type : • normes ISO 9000 permettant d’obtenir la certification AFAQ 3 21/01/2010 Les normes AFNOR • NF X50-120 définit le vocabulaire de la qualité et les termes anglais correspondants. • NF 50-126 propose un guide d ’évaluation des coûts de la non-qualité (elle peut représenter jusqu’à 10% du C.A.) Les normes ISO9000 • NF-EN-29000-ISO9000 : norme « chapeau » qui clarifie :` – Politique qualité – Gestion de la qualité – Système qualité – Maîtrise de la qualité – Assurance qualité Les normes ISO9000 • NF-EN-29000-ISO9001 : s’applique au fournisseur et sert de base à un audit qualité. – Conception/Développement – Production – Installation – Soutien après-vente 4 21/01/2010 Les normes ISO9000 • NF-EN-29000-ISO9002 et 9003 sont des sous-ensembles de la 9001 dont le champ exclut la conception (9002) ou se limite à l ’installation et au soutien après la vente (9003). • NF-EN-29000-ISO9004 définit les principes de base pour un système qualité dans l’entreprise (TQM : total quality management). Qualité logiciel • La qualité d'un logiciel n'a pas de mesure objective, ni de définition formelle • 80% des logiciels ne satisfont pas les demandes des utilisateurs • Quelques facteurs de qualité : d'un Produit Conformité Portabilité Maintenabilité Flexibilité d’un Service Efficacité Disponibilité Sécurité Fiabilité Qualité Logiciel (iso 9126) Ces facteurs sont parfois contradictoire, le choix des compromis doit s'effectuer en fonction du contexte. Par exemple, la facilité d‘utilisation et la capacité fonctionnelle peuvent être contradictoire. 5 21/01/2010 La qualité prend un sens différent en fonction de la personne Par exemple, en fonction de la position dans l'organisation de l'entreprise Client : - Satisfaire les besoins des utilisateurs Entreprise : - Optimiser la fabrication du produit - Réduire les coûts de production - Mobiliser le personnel - Améliorer la qualité du produit et l’efficacité du fonctionnement Client Assurance que les exigences des clients sont connues, respectées afin d’accroître leur satisfaction. Écoute client Conversion des besoins et attentes des clients en exigences (y compris exigences réglementaires et légales ). Ecrivez ce que vous faites Faites ce qui est écrit Prouvez que vous le faites Conception et développement Objectif Mener à bien la phase de conception du produit ou du service, afin de satisfaire les besoins exprimés par le client et les besoins implicites liés au produit ou au service. Moyens (1) Planifier les phases de conception et/ou développement (Revues, vérifications, validation), REVUE DE CONTRAT • MARKETING • ENVIRONNEMENT • REGLEMENTATION • COUT • CONCEPTION SIMILAIRE • OBJECTIFS de FIABILITE Déterminer les données d'entrées de la conception et/ou développement, Déterminer les données de sorties de la conception et/ou développement. 6 21/01/2010 Conception et développement Moyens (2) Déterminer des responsabilités et des ressources pour chacune des phases, Revoir, vérifier et valider les modifications de la conception et/ou du développement, Effectuer un enregistrement des modifications réalisées et de leur incidence sur la conception et/ou le développement. Les données d’entrée, les résultats des revues de la vérification et de la validation, les résultats de la revue des modifications doivent être enregistrés. Interconnection des Entreprises • • • • • Le triptyque coût-délai-qualité prend une importance considérable pour l'entreprise. Aussi, les démarches de gestion de la qualité totale et de maintenance des équipements se sont développées au point d'apparaître indispensables. la montée en puissance du "client" (définition, typologie, attentes). le management de la qualité sous toutes ses formes (maîtrise de la production, maîtrise de la conception, adéquation aux besoins exprimés...) Avènement des outils et démarches de la gestion de la qualité (normes, labels, ISO, outils statistiques, TQM,...) ; Les 5 Zéros Le zéro défaut •tous les produits doivent être conformes aux spécifications requises. •Le zéro délai •les produits sont livrés au bon moment, ni trop tôt, ni trop tard. •Le zéro stock •on fabrique au bon moment ce dont le client a besoin. •Le zéro panne •les machines sont disponibles chaque fois que l'on en a besoin et les produits fabriqués sont fiables. •Le zéro papier •on ne produit pas de "paperasse" inutile. La philosophie du zéro peut s'appliquer à de nombreuses autres causes de non-qualités (mépris,....) 7 21/01/2010 La gestion de la documentation MQ / Normes et Procédures: Mettre à disposition du personnel, les documents et les données permettant la mise en œuvre du système ainsi que la réalisation des tâches. Qualité de la documentation •Définir une structure documentaire en fonction des cycles de vie, des besoins utilisateurs (produit logiciel, logiciel d'équipement, ...) •Définir une documentation minimale (ex : un document par phase) •Donner des plans types et des guides de rédaction si possible en ligne sur la station de travail •Etablir des comparaisons (structure, plans, sommaires) avec les normes des principaux clients •Mettre en place des conseils d'écriture et des techniques de vérification •Définir les modalités de la visibilité donnée au client •Répétitive dans sa forme (ex. : sommaires, structure, indices, identification, titres) •Lisible dans son contenu (ex. : phrases simples, claires, documents peu épais, autosuffisants, ...) •Précise dans son contenu (ex. : redéfinitions, double inscriptions, ...) •Reliée aux documents utiles sans plus (bibliographies en cascades, traçabilité, ...) •Adaptée aux contrats, reliée à des normes existantes et au standard industriel Maitrise de la documentation •Définir les documents à produire •Définir les plans types utilisés •Préciser les moyens de production documentaire •Enoncer les contraintes type pour les documents (présence d'un glossaire, matrice de traçabilité arborescence...) •Définir le format et la présentation •Préciser les moyens pour gérer les documents Procédure écrite contenant les règles : • D'approbation, de diffusion, de révision les documents, • De mise à disposition sur les lieux d’application, • D’identification des modifications et du statut en vigueur, 8 21/01/2010 Ressources Humaines OBJECTIF : Disposer de personnel compétent et conscient de sa contribution pour réaliser les tâches et obtenir la satisfaction des clients. Sensibilisation : •Politique Qualité •Résultats des activités sur la satisfaction du client •Conséquences d’un écart •Rôles et responsabilités Compétence : Démontrer la compétence du personnel: •Formation initiale •Formation complémentaire •Savoir faire •Expérience La motivation Les besoins humains fondamentaux, facteurs de la motivation. • Besoins physiologiques (Nourriture, abri, salaires, primes d'intéressement, voyages,......) • Besoins de sécurité (Emploi stable) • Besoins sociaux (Intégration à un groupe, un milieu social et y rester - effet d'équipe, de corps, ... ). • Besoins liés à l'égo (Etre respecté ou estimé - valorisation de la personne et du travail ). • Besoins de se réaliser (de réaliser, de participer, d'inventer un projet). La motivation peut être influencée ou suscitée par un intéressement ou un gain personnel ( prime, promotion, récompense, prix,.....). Il doit être donné assez tôt pour être efficace et doit être continu pour avoir un effet durable ou à long terme. Le désir de se réaliser ou de réaliser : L'objectif à atteindre doit être clairement fixé: ni trop ambitieux ( sinon décourageant ), ni pas assez ambitieux ( démotivant ). Pour réaliser un objectif à priori "élevé", il convient de le diviser en étapes intermédiaires plus aisément accessibles. Audit (3 formes) Audit 1ère Partie ou interne : - au service du chef d’entreprise - vérifie la mise en œuvre effective - juge du bon fonctionnement Audit 2nde Partie ou externe : - fonde la confiance - développe le partenariat Audit Tierce Partie : - permet la reconnaissance du système qualité 9 21/01/2010 CONTROLE AUDIT Intérêts de l’Audit L’ AUDIT EST UN OUTIL • d’observation du système • d’évaluation du système • de communication QUI PERMET DE: • «prendre de la hauteur» • de rendre compte à la direction • de se poser les questions utiles LES 4 GRANDES PHASES DE L'AUDIT : •Préparation de l'audit •Réalisation de l'audit •Bilan de l'audit •Exploitation des résultats et suivi des actions correctives 10 21/01/2010 Un exemple de tableau de bord 11 21/01/2010 Allez plus haut … • La Qualité, La Qualité Totale, l’Assurance Qualité, • … la recherche de la maturité … • Nouvelles méthodes : – CMMI (Capability Maturity Model Integrated) – ITL – COBIT Historique • Réflexion démarré en 80, Conclue en 90 • Révisée en 94 (développé par le SEI : Software Engeniering Institute) aussi appelé SE-SW • Finalisée en 2000 --| CMMI • A la mode depuis 2004 5 niveaux de maturité • Initial : Les facteurs de réussite des projets ne sont pas identifiés, la réussite ne peut donc être répétée (par dérision, ce niveau est aussi nommé héroïque ou chaotique). • Piloté : Les projets sont pilotés individuellement et leurs succès sont répétables. • Standardisé : Les processus de pilotage des projets sont mis en place au niveau de l'organisation par l'intermédiaire de normes, procédures, outils et méthodes. • Quantifié : La réussite des projets est quantifiée. Les causes d'écart peuvent être analysées. • Optimisé : La démarche d'optimisation est continue. 12 21/01/2010 4 types de gestion • • • • Process Management Project Management Engineering Support Le tout appliqué sur 23 (!) processus devant s’appliquer au fur à et mesure de la progression de la maturité Processus (Niveau 1) • aucun Processus (niveau 2) répétable • • • • • • • Gestion des exigences : Gérer les exigences des produits et des composants produit du projet et identifier les incohérences entre ces exigences et les plans et produits intermédiaires du projet. Planification de projet : Établir et maintenir des plans qui définissent les activités du projet. Suivi et pilotage de projet : Faire comprendre l'avancement du projet de sorte que des actions correctives appropriées puissent être prises quand l'exécution du projet s’écarte de manière significative du plan. Assurance qualité des produits et des processus : Fournir aux équipes et au management une visibilité objective sur les processus mis en œuvre et les produits intermédiaires associés. Mesure et analyse : Développer et maintenir une capacité à mesurer qui réponde aux besoins d'information de gestion. Gestion des accords avec les fournisseurs : Gérer l'acquisition de produits fournisseurs pour lesquels il existe un accord formel. Gestion de configuration : Établir et maintenir l'intégrité des produits intermédiaires en utilisant l'identification, le contrôle de configuration, l'enregistrement des états de configuration, et les audits de configuration. 13 21/01/2010 Niveau 2 Level 2 • Requirement Management (RM) • SW Project Planning (SPP) • SW Project Tracking and Oversight (SPTO) • SW Quality Assurance (SQA) • SW Subcontract Management (SSM) • SW Configuration Management (SCM) Niveau 3 • Standardisé Les processus de pilotage des projets sont mis en place au niveau de l'organisation par l'intermédiaire de normes, procédures, outils et méthodes 14 21/01/2010 Processus (level 3) • • • • • • • Organization Process Focus (OPF) Organization Process Definition (OPD) Integrated Software Management (ISM) Training Program (TP) Software Product Engineering (SPE) Intergroup Coordination (IC) Peer Reviews (PR) Processus (Niveau 3) • Cela passe par : – Un plan pour l’amélioration du processus logiciel (OPF) – Des descriptions de cycle de développement (cascade, spirale, etc.) (ISM) – Des règles pour l’adaptation du processus de l’organisation aux projets (ISM) – Des plans de gestion de risques (identification, plans de mitigation, solution) (ISM) – Des checklists pour les revues de pairs, des données sur les défauts trouvés, etc. (PR) – Des procédures de tests, des résultats, une analyse de leur efficacité (SPE) Poupées Russes On imbrique les macro-processus … OPP (org pro perf) QPM CAR (Causual Analysis and Resol) OI 15 21/01/2010 Les 23 processus sur 5 niveaux Causal Analysis and Resolution Organizational Innovation and Deployment 2 Process Areas 36 pratiques Organizational Process Performance Quantitative Project Management 2 Process Areas 37 pratiques Organizational Process Focus Organizational Process Definition Organizational Training Integrated Project Management Risk Management Requirements Development Technical Solution Product Integration Verification Validation Decision Analysis and Resolution 11 Process Areas 214 pratiques Requirements Management Project Planning Project Monitoring and Control Supplier Agreement Management Product & Process Quality Assurance Configuration Management Measurement and Analysis 7 Process Areas 125 pratiques Les 23 processus suivant 4 types Project Management Project Planning Project Monitoring and Control Supplier Agreement Management Integrated Project Management Risk Management Quantitative Project Management Support Configuration Management Product & Process Quality Assurance Measurement and Analysis Causal Analysis and Resolution Decision Analysis and Resolution Engineering Requirements Management Requirements Development Technical Solution Product Integration Verification Validation Process Management Organizational Organizational Organizational Organizational Organizational Process Focus Process Definition Training Process Performance Innovation and Deployment Autre méthode : COBIT • Control Objectives for Information and related Technologies • Cette démarche s'appuie sur un référentiel de processus et sur des indicateurs d'objectifs (KGI) et de performance (KPI) permettant de mettre les processus sous contrôle afin de disposer des données permettant à l'entreprise d'atteindre ses objectifs. • La démarche COBIT propose ainsi 34 processus organisés en 4 grands domaines fonctionnels, permettant de couvrir 318 objectifs : – – – – Deliver & Support Monitor Planning & Organisation Acquire & Implement 16 21/01/2010 les 34 processus cobit • Planification et Organisation – – – – – – – – – – – • Définition du plan stratégique informatique Définition de l'architecture des informations Définition de la direction technologique Organisation du service informatique Gestion des investissements Communication des objectifs de la direction Gestion des ressources humaines Respect des exigences légales Évaluation des risques Gestion des projets Gestion de la qualité Acquisition et Installation – – – – – – Identification des solutions automatiques Acquisition et maintenance des applications informatiques Acquisition et maintenance de l'infrastructure technologique Développement et maintien des procédures Installation et certification des systèmes Gestion des modifications …les 34 processus cobit • Livraison et Support – – – – – – – – – – – – – • Définition des niveaux de service Gestion des services aux tiers Gestion des performances et des capacités Garantie de la poursuite des traitements Garantie de la sécurité des systèmes Identification et attribution des coûts Formation des utilisateurs Assistance des utilisateurs Gestion de la configuration Gestion des incidents Gestion des données et des applications Sécurité physique du système Gestion de l'exploitation Monitoring – – – – Monitoring des processus Appréciation du contrôle interne Certification par un organe indépendant Audit par un organe indépendant iTiL • Gestion de l’information • La librairie ITIL est groupée autour de deux séries de base : • 1 >>> Le soutien des Services aux TI (Service Support), décrivant comment on s'assure que le "client" a accès aux services informatiques appropriés, et comprenant – – – – – – Le centre de services (Service Desk) La gestion des incidents (Incident Management) La gestion des problèmes (Problem Management) La gestion des changements (Change Management) La gestion des mises en production (Release Management) La gestion des configurations (Configuration Management) 17 21/01/2010 ITIL (suite) • 2 >> La fourniture des Services des TI (Service Delivery), décrivant les services devant être fournis pour répondre aux besoins de l'entreprise de manière adéquate, et comprenant – La gestion financière des services des TI (IT Financial Management) – La gestion de la capacité (Capacity Management) – La gestion de la disponibilité (Availability Management) – La gestion de la continuité des services des TI (IT Continuity Management) – La gestion des niveaux de service (Service Level Management) ITIL (fin) • Auxquelles s'ajoutent cinq autres livres en complément : – Planification pour la mise en œuvre des services – Gestion de la sécurité – Gestion des infrastructures des TIC – Point de vue Business (des Affaires) – Gestion des applications Conclusion • Still in progress – SCAMPI (Standard CMMI Appraised Method for Process Improvement) • De plus en plus intégré dans les entreprises (la preuve dans les semaines à venir) • Une compétence rare de niveau Master 18