Conduite de Projet avec la Forge Vincent Lafage 1 D2I, Institut de Physique Nucléaire Université d Orsay 19 septembre 2011 1 / 23
Contact S2I Mail : savsii@ipno.in2p3.fr poste : 53555 Documentation en ligne : ipnwiki.in2p3.fr Liste de diffusion linux : linux@ipno.in2p3.fr 2 / 23
Conduite de projet de système d'information.1 On rappelera les notions élémentaires relatives à un projet de système d information....2... ainsi que les principales difficultés rencontrées lors de l élaboration d un tel projet : expression du besoin, cahier des charges, planification, suivi de l avancement, recette, déploiement, maintenances évolutive & corrective..3 On évoquera les problèmes spécifiques liés au portage..4 On décrira l outil Forge de l IN2P3 et en quoi il permet d aider la conduite des projets de système d information..5 On montrera en quoi l utilisation de la Forge fourni les éléments d une démarche qualité. 3 / 23
La MOA vient de Vénus, la MŒ vient de Mars Lexique I. «Je veux une nouvelle cuisine» : maîtrise d ouvrage (MOA) + donneur d ordre, commanditaire et bénéficiaire (au profit de qui l ouvrage est réalisé) + supporte le coût financier (avec ou sans partenaires financiers) + l expression du besoin II. «OK, je fais les plans...» : maîtrise d œuvre (MŒ) «... et je sors les outils» : exécution des travaux + responsable de la réalisation du projet + assure le projet architectural et technique + chargée de la conduite opérationnelle de travaux, conduite du chantier III. Parfois, la MOA ne sait pas exactement ce qu elle veut : il y a besoin d une assistance à maîtrise d ouvrage (AMOA) 4 / 23
Plan d'ensemble Élaboration d un système d information I. phase préalable II. phase de recueil des besoins et de spécification cahier des charges planification : définition des livrables (jalons) et de délais III. réalisation (début de conduite et de suivi) IV. livraison V. phase de recette plan de test, tests fonctionnels, test d intégration VI. mise en production, déploiement VII. maintenances évolutive & corrective 5 / 23
Expression et recueil du besoin.1 Saisir les cas d utilisation use case qui décrivent le déroulement....2...avec en annexe le Lexique (s approprier la connaissance métier).3 Maquette des états, ou rapports (les lettres-types, avec des champs paramétrés) et des formulaires (avec possibilité de saisir des données) soutien graphique de l imagination de la MOA.4 Description des cas de test à partir de l existant ou du prévisionnel Cas de test normal Cas de test exceptionnel.5 Structure de données Types de données (numérique / caractères, longueur, nombre de décimales, valeur min et max, valeurs permises...)? Relations entre les entités? Règles de gestion de ces données?.6 Cahier des charges 6 / 23
Cahier des charges Vise à définir simplement les «spécifications de base» d un produit ou d un service à réaliser. Le cahier des charges prend des formes variables selon le type d activité (production ou service récurrent, projet ponctuel, ), selon le domaine d activité principal concerné et selon la culture d entreprise. formalisation des besoins explication aux différents acteurs cadrage des missions (directeur de projet MOA / chef de projet MŒ) référentiel commun outil de communication planification : définition des livrables (jalons) et de délais Éviter la sur-spécification!!! 7 / 23
Recette Ne pas faire tester par les réalisateurs! (bien sûr, les faire tester, mais ne pas s appuyer sur leurs seuls tests) Un tiers neutre, n est pas forcément un bon testeur (la Tierce Recette Applicative, une aubaine commerciale, pas forcément une bonne idée) Prévoir les tests dès le début (quitte à les élaborer secrètement...) Les faire exécuter par les utilisateurs (les gens du métier) Plan de test, stratégie de recette : c est la guerre! 8 / 23
Déploiement Aspect logistique : combien de postes? combien de systèmes différents? Aspect dynamique : combien de nouvelles versions par an? Copie manuelle? Serveur de mises-à-jour? Client léger? Gestion des dépendances (bibliothèques, versions, bases de données...). système de paquetage (Debian.deb, RedHat.rpm) 9 / 23
Maintenance évolutive & corrective Un système d information, ça évolue garder des traces de cette évolution système de gestion de version (... de sources) version / revision control, Source Code Management ipnvcs.in2p3.fr système de gestion de configuration quels compilateur? quelles bibliothèques extérieures? quelle version du(es) systèmes? système de suivi de problèmes (tickets, incidents, bug reports...) développement multi-environnement (environnement de production, de recette, de développement) Tierce Maintenance Applicative, risques et bénéfices de la délocalisation 10 / 23
Le portage Des dangers : Délicat : tout retester... Couteux : (combien de lignes / j, compilées, commentées et testées?) Attention aux effets de mode!!! Fortran vers C++? Est-ce bien nécessaire / raisonnable? Ne pas confondre langage et paradigme : «Objet» ne veut pas dire C++ (ni même Java) Des éléments de solutions : On est + fort en version qu en thème Interfaçage multi-langage Portage partiel Opportunité de «refactoring» (SPAG pour Fortran) 11 / 23
Forge logicielle 12 / 23
forge.in2p3.fr 13 / 23
Activité 14 / 23
Demandes 15 / 23
Connexion 16 / 23
Nouvelle demande 17 / 23
Wiki 18 / 23
Dépot / contrôle de version 19 / 23
S inscrire sur la Forge.1 Demande de certificat auprès de l autorité de certification CNRS2-standard pour tous les utilisateurs! https://igc.services.cnrs.fr/cnrs2-standard.2 Inscription des utilisateurs auprès de forge.in2p3.fr.3 Demande d ouverture du projet par l administrateur 20 / 23
Une démarche qualité la qualité logicielle : les fausses évidences une définition relative (pour la MOA? la MŒ? les utilisateurs?) un matériau éthéré (illusion de malléabilité du code) qualité d un process ou qualité du code? Failure stories (sonde Mariner 1 ; satellite Mars Climate Orbiter ; Therac-25 ; projet Virtual Case File ; Ariane 5 vol 501)... bug Y2K : qui a eu des problèmes? halte au pessimisme ontologique! une traçabilité (historisation, explicitation) des mesures (qualité objective et quantifiable : complexité cyclomatique,...) de la documentation, du formulaire, des certificats : cf. CMMI les «bonnes pratiques» (voire les «meilleures pratiques» ) 21 / 23
Conclusion La Forge, un environnement de travail souple et interactif partagé historisé sauvegardé 22 / 23
Merci de votre attention des questions? 23 / 23