MIAGE MASTER 1 Cours de gestion de projet

Slides:



Advertisements
Présentations similaires
Le Management de Projets 2010
Advertisements

Global Total Microcode Support (TMS ou GTMS) Microcode Management proactif pour System i, System p, System x et SAN.
Les Systèmes d’Information Financière Atelier conjoint ACBF / Banque Mondiale / AFRITAC de l’Ouest Gérer l’application dans le temps, sur les plans fonctionnel,
Analyse et Programmation Orientées Objets
Eléments de Génie Logiciel
M1 MASTER GESTION Séance 3 Pilotage coûts- délais
La Gestion de la Configuration
LA QUALITE LOGICIELLE Plan du cours Le Plan Qualité 1 h ½
Les démarches de développement
Les démarches de développement
Phase de préparation des itérations Produit Story 11 Release1 Story 1mStory 21 Release2 Story 2m… …
Phase de préparation des itérations Produit Story 11 Release1 Story 1mStory 21 Release2 Story 2m… …
François Potentier, 10 octobre 2008
Rational Unified Process (RUP)
Filière Informatique et Réseaux
S.T.S. S.I.O. 1ère année La gestion de projets
MIAGE MASTER 1 Cours de gestion de projet
Démarche Analyse des OGL et des Méthodes Objectifs : Activités :
Parcours de formation SIN-7
METHODE AGIL Présenté par : GRIOUI Haykel MILADI Hedi CHARFI Habib
Méthode AGILE : SCRUM Réalisé par : Imen SADKI Ines GHERAB
MIAGE 1 Cours de gestion de projet
Techniques de test Boulanger Jean-Louis.
Revue qualité Equipe 24 - groupe B1 - ING  Présentation du Projet  Méthodologie  Dates et points clés  Responsabilités  Critères d’acceptation.
Les stratégies pédagogiques en
TESTING BUSINESS PROCESSES
© Petko ValtchevUniversité de Montréal Janvier IFT 2251 Génie Logiciel Notions de Base Hiver 2002 Petko Valtchev.
Conception des Réalisé par : Nassim TIGUENITINE.
La Gestion de Projet.
Ingénierie Système en SysML appliquée à la rédaction du cahier des charges Y. Le Gallou Séminaire académique STI2D - Calais – 1er avril 2014.
Partie A Système d ’information et organisation
Deuxième partie : Management
Systèmes d’information d’entreprise
ANALYSE METHODE & OUTILS
Jean-Baptiste savansongkham
Mise en oeuvre et exploitation
RESEAU.
Stratégie d’entreprise - Alstom Transport – Marco Férrogalini
Vue d’ensemble des outils du PRISM Dakar, 3 au 21 Mai 2010
Les métiers de l’informatique
Les prestations informatiques
Une pédagogie de l’activité pour développer des compétences transversales Claire Herviou Alain Taurisson Juin 2003.
Supports de formation au SQ Unifié
Hatainville Les Moitiers d’Allonne – Tel : Website : stratic.online.com La démarche projet Mars 2001.
Développement d'application rapide GEF492A Automne 2014 [HvV § 3.2.3]
Présentation Finale Spirit 07 / 03 / 2011 Groupe Vert 1 Equipe Verte.
Institut Supérieur des Sciences Appliquées et de Technologie Sousse
La Qualité dans les Systèmes d’Information
LE PLAN QUALITE Utilité du plan qualité :
GENIE LOGICIEL
1 Emeric ROLLIN 1 Génie Logiciel GENIE LOGICIEL
Introduction au Génie Logiciel
Sciences de l ’Ingénieur
Extrait du Referentiel BTS Systèmes numériques Options : Informatique et réseaux et Électronique et communication S1 à S9 Définition des savoirs et savoir-faire.
KEY NOTE GRH.
Initiation à la conception des systèmes d'informations
Présentation AICHA REVEL INGENIEUR D’ÉTUDE STERIA DEPARTEMENT TRD
Management de la qualité
Année 2006 – 2007 ENSEA © Emeric Rollin
OPTIMISATION DE LA PLANIFICATION
Les démarches de développement
Soutenance Phase 1 Bibliographie et Analyse des besoins
2 Tracks Unified Process
© Petko ValtchevUniversité de Montréal Janvier IFT 2251 Génie Logiciel Le Processus Hiver 2002 Petko Valtchev.
Gestion de projets AGILE
Conférence 2TUP Stéphane Barthon 03/12/
La méthode SCRUM méthode agile dédiée à la gestion de projets
1 - Gestion du projet Initialisation Préparation
C’est ce que l’on veut obtenir la manière dont on va l’obtenir
2 nd workshop Introduction à la gestion de projet Slimani Haythem & Rezgui Khair-Eddine.
Transcription de la présentation:

MIAGE MASTER 1 Cours de gestion de projet Session 3 : Méthodes de réalisation d’un Projet

Questions sur le cours précédent Régie? Assistance Technique? Forfait? Projet de développement? TMA? TRA? Infogérance?

Sommaire Les disciplines standard d’un projet …, Spécifications, Conception, Développement, Recette, … Les méthodes « classiques et obsolètes » (V, W) Intérêts Difficultés à postériori Les méthodes « itératives » (RUP, 2TUP) Les méthodes Agile Fondements Scrum, XP, Lean Problématiques soulevées et difficultés rencontrées Exemples

Les disciplines d’un projet : vue d’ensemble Rappel (session 1) : Le cycle de vie du projet ne concerne que la réalisation du produit informatique (en rouge) Exp. Besoins Spécifica-tions Concep-tion Dévelop-pement Recette Déploie-ment Exploita-tion Maîtrise d’ouvrage Domaine Production Projet domaine « Etudes »

Les disciplines d’un projet

Les disciplines d’un projet : spécifications Spécifications = manière dont l’application va implémenter les besoins (étape précédente = expression de besoin) Définir le périmètre de l’application : au niveau fonctionnel : activités métier à informatiser (souvent sous UML) Navigation dans l’application Description détaillé des écrans : maquettes, règles de gestion écran Organisation des traitements Description détaillée des traitements « batch » Gestion des habilitations Paramétrage et contrôle des traitements au niveau technique : interfaces techniques du projet (normes, flux de données, interfaces matérielles (info indus, imprimantes, équipements mobiles, …) Livrables Spécifications Fonctionnelles Générales (SFG) - option Spécifications Fonctionnelles Générales (SFD) - obligatoire Spécifications Techniques Générales (STG) - option Spécifications Techniques Détaillées (STD) - option 6

Les disciplines d’un projet : Architecture Technique Peut être optionnel (si l’architecture est déjà en place et maîtrisée) Nécessaire s’il faut industrialiser les développements sur de gros projets Tâches : Sélectionner avec soin les outils de développement Récupérer un framework existant ou le créer Mettre en place des fonctions standard pour les DAO Identifier et contourner les contraintes techniques (ex : projets J2EE : comportements différents selon les navigateurs) Réaliser des modèles d’implémentation qui seront largement utilisés, exemple : Écran de saisie, navigation standard dans l’écran Fenêtres standard d’erreurs et gestion standard des retours d’erreur Livrables Dossier d’architecture logicielle 7

Les disciplines d’un projet : Conception Technique Conception Technique = Passerelle entre SFD et Code Point d’entrée des développeurs Tâches : Analyser les SFD et détecter d’éventuelles anomalies Identifier les composants à développer (classes, écrans, services métier, …) Formaliser la navigation entre les écrans Formaliser sous forme de pseudo code les traitements Livrables Dossier de Conception Technique 8

Les disciplines d’un projet : développement Tâches Développement, dans le respect : Des spécifications De la conception applicative Tests usine Tests Unitaires Tests d’intégration Tests par mutation, tests par propriétés Tests fonctionnels, Tests IHM Tests de montée en charge, de robustesse, de sécurité, de scalabilité, …. Livrables Code source Exécutables, dans un package de livraison complet Documentation du code (si intérêt) Documentation utilisateur (dérive spécifications fonctionnelles) Documentation des tests 9

Les disciplines d’un projet : recette But Passage de ses tests avant mise en production Plusieurs niveaux : VT : Validation technique (non contractuelle) : porte sur des sous ensembles de l’application VA : Vérification d’Aptitude (ou VABF : VA au Bon Fonctionnement) : opération contractuelle : vérifier que l’application finale respecte scrupuleusement les spécifications. Cette validation déclenche la mise en production VSP : Vérification sur Site Pilote (optionnel) : correction de bugs éventuels en production sur une extraction des sites client VSR : Vérification pour Service Régulier (contractuel) : correction de bugs en production sur tous les sites clients. Déclenche le début de la garantie contractuelle Livrables Bordereaux de livraison (chaque étape) PV (procès verbal) de recette (chaque étape) « sans réserves » « avec réserves » : bugs à corriger (mineurs) 10

Les méthodes « classiques et obsolètes »

Les méthodes « classiques et obsolètes » : Le Modèle en V Part d’une conception globale et décompose le système en sous-ensembles, qui sont développés et testés séparément. On fait ensuite l’intégration et les tests du système complet. Il ne prévoit pas de retour arrière.

Les méthodes « classiques et obsolètes » : Le Modèle en W Il part du modèle en V, en y ajoutant des phases d’élaboration de maquettes permettant de valider la conception. Il ne prévoit pas de retour arrière.

Les méthodes « classiques et obsolètes » : Synthèse Intérêts : Permettent de connaître « dès le départ » l’ensemble des fonctionnalités d’une application  Rassurant Fournies une documentation avancée du logiciel Simple à appréhender  Rassurant pour beaucoup de décideurs Difficultés à postériori : Savez-vous aujourd’hui définir dans le détail et par avance la maison de vos rêves ??  Réponse oui en théorie, et NON dans la pratique : au mieux vous en aurez une idée plus ou moins précise (votre 3ème maison sera la bonne!) Il en va de même avec la conception d’une application. Le besoin réel se construit au fur et à mesure de son utilisation. Cela implique la plus part du temps : Une application mal pensée par rapport aux besoins réels des utilisateurs Un dépassement des délais et des coûts établis au départ du projet

Les méthodes « itératives »

Les méthodes « itératives » : Principes L'idée est simple : pour modéliser (comprendre et représenter) un système complexe, il vaut mieux s'y prendre en plusieurs fois, en affinant son analyse par étapes. Notion « itérative » Modèle souple, proche des réalités de terrain, non figé comme les modèles précédents évitant les cloisonnements stricts entre analyse et réalisation par exemple (dans les modèles précédents, on considère qu'il faut terminer 100% des spécifications avant de démarrer le développement => faux en pratique) Lié à une démarche de conception UML (scénario nominal, scénarii alternatifs, scénarii d’erreurs)

Ce qu’il y a de nouveau avec les méthodes itératives : Les méthodes « itératives » : Comparaison avec les méthodes « classiques » Ce qu’il y a de nouveau avec les méthodes itératives : Avant : approche en lots (qui sont des sous-ensembles fonctionnels), chaque lot étant implémenté complètement Méthode itérative : chaque livraison a pour périmètre l’application globale, mais en incluant des raffinements successifs

Les méthodes « itératives » : Un cycle itératif Les quatre phases : phase d'initialisation (Inception) : mise en place et finalisaton du SDP (Software Development Plan, ou Plan de Développement Logiciel) en définissant les itérations nécessaires. Début de la modélisation métier et de la réalisation de prototypes ; phase d'élaboration (Elaboration) : fixe le maximum de règles fonctionnelles (uses cases) et réaliser des prototypes permettant de lever les risques et les maquettes permettant de modéliser l'IHM générale de l'application ainsi que la cinématique d'accès, phase de construction (Construction) : développement et tests (unitaires, intégration, pré-qualification au gré de l'avancement des itérations de cette phase), phase de transition (Transition) : préparation du déploiement et conduite du changement.

Les méthodes « itératives » : Implémentation RUP RUP (Rational Unified Process) : les principes Vue « pragmatique » : les tâches sont continues dans le temps (en pratique, les spécifications ne sont jamais totalement figées) Opérations de modélisation et d’analyse Opérations de développement Opérations connexes Démarche itérative

Les méthodes « itératives » : Evolution de la couverture applicative Illustration de la souplesse de la méthode : exemple type d’évolution de la couverture des spécifications sur le projet Même en phase de pré-déploiement, les modifications de détail des spécifications sont possibles On démarre les développements alors que les cas d’exception des spécifications ne sont même pas encore abordés. On démarre les maquettes et prototypes avec uniquement 30% des spécifications

Les méthodes « itératives » : RUP, Répartition de charges La répartition des charges selon les phases du RUP : Etape Initialisation Elaboration Construction Transition   Charge de travail ~5 % 20 % 65 % 10% Proportion de temps dans le projet 10 % 30 % 50 %

Les méthodes « itératives » : Prise en compte d’évolutions dans RUP Chaque évolution majeure du logiciel est traitée comme un projet à part entière, et consiste donc à redémarrer un cycle. A un instant donné, les différentes évolutions du logiciel peuvent être dans des phases différentes

Les méthodes « itératives » : Le cycle en « Y » ou 2 TUP : 2 Tracks Unified Process Description des processus métier Spécifications Techniques Spécifications Fonctionnelles Architecture Technique Charte graphique Architecture Logicielle Maquette / Prototype Conception itération 1 Réalisation itération 1 Tests Techniques itération 1 Tests Fonctionnels itération 1 Recette Technique itération 1 Recette Fonctionnelle itération 1 Itération 2 Itération n Recette Technique itération n Recette Fonctionnelle itération n Mise en production Déploiement

Les méthodes « Itératives » : Comment contractualiser? (en général) Le client envoi son cahier des charges plus ou mois flou Le prestataire effectuer une réponse chiffrée l’engageant sur le respect de besoin et de son estimation de charge Problème ! Cahier des charges flou => Nombreuses discussions contractuelles (= pertes de temps pour le projet) => Nombreux avenants => Non maîtrise du budget du projet Une fois le client satisfait de la qualité, il paie son prestataire De plus en plus les clients mettent des pénalités sur : Les retards de livraison (1 jour de retard = 1 000 euros) Sur la non qualité (1 anomalie bloquante = 2 000 euros)

Les méthodes « itératives » : Synthèse Intérêts : Permettent de connaître rapidement les principales fonctionnalités d’une application  Rassurant Autorise de revoir une partie du besoin en cours de route Fournies une documentation avancée du logiciel Simple à appréhender et à contractualiser  Rassurant pour beaucoup de décideurs Difficultés à postériori : Méthode encore trop orientée sur une définition figée du besoin utilisateur Ne traite pas les problématiques de qualité de code, de non régression Ces méthodes s’approchent d’un processus de création incrémental

Les méthodes « Agile »

Les méthodes Agiles : Le manifeste Extrait du manifeste Agile : http://agilemanifesto.org/ Nous découvrons comment mieux développer des logiciels par la pratique et en aidant les autres à le faire. Ces expériences nous ont amenés à valoriser : Les individus et leurs interactions plus que les processus et les outils Des logiciels opérationnels plus qu’une documentation exhaustive La collaboration avec les clients plus que la négociation contractuelle L’adaptation au changement plus que le suivi d’un plan Nous reconnaissons la valeur des seconds éléments, mais privilégions les premiers.

Les méthodes Agiles : Le manifeste Projet classique Processus et outils Documentation exhaustive Négociation contractuelle Suivi d’un plan Projet agile Individus et interactions Logiciel opérationnel Collaboration cliente Réactivité face au changement

Les méthodes Agiles : plusieurs solutions Scrum eXtreme Programming Lean Devops Kanban Crystal clear FDD ASD, DSDM, …………

Agile : Focus sur SCRUM La méthode Scrum est un processus itératif représenté par le diagramme suivant :

Agile : Focus sur SCRUM Le « Backlog de produit » est constitué d’une liste de « User story », à savoir des cas d’utilisation simples et représentatifs. Il est modifié tout au long du projet par le directeur de produit. Chaque « User story » est orienté « fonctionnel » et est identifié de façon unique.

Agile : Focus sur SCRUM

Agile : Focus sur SCRUM Les rôles dans Scrum sont : Le « Directeur du produit ou Product Owner» est le représentant des clients et utilisateurs. C’est lui qui défini le produit au travers du « Backlog » de produit. Le « ScrumMaster » est chargé de protéger l'équipe de tous les éléments perturbateurs extérieurs à l'équipe et de résoudre ses problèmes non technique. L’ « Equipe » ne comporte pas de rôle prédéfini et est autogérée. Elle s’adresse directement au directeur de produit.

Agile : Focus sur SCRUM Le « Backlog de sprint » est réalisé à chaque début de sprint. Il contient l’ensemble des « User story » à réaliser pour celui ci. Le « Backlog de sprint » n’évolue jamais. La mêlée quotidienne (ou Daily Scrum) est effectuée chaque matin afin de vérifier qu’aucun élément ne perturbe le développement. Il s’agît d’un Stand-up Meeting (on reste debout pour que la réunion ne s’éternise pas…) Point court de 10 à 15min Exposer l’avancement de chacun et les problèmes rencontrés

Agile : Focus sur XP Méthode résolument incrémentale et focalisée sur la programmation qui met en œuvre les pratiques suivantes : TDD (Test Driven Developement) Refactoring Intégration Continue Propriété collective Normes de développement Pair programming Rythme soutenable Approche très complémentaire avec Scrum qui met en place l’organisation projet Scrum et XP se sont mutuellement inspirées 35

Agile : Focus sur Lean http://blog.octo.com/qu-est-ce-que-le-lean Ensemble de principes et de pratiques issus de Toyota : Respect des gens : Le travail doit être motivant, épanouissant, inspirant Le personnel doit être formé, encouragé et responsabilisé Eliminer le gaspillage : Surproduction, Délai (exemple : temps d’organisation d’une réunion), Stock, Transport, mouvement inutile, processus inutile et défauts Amélioration continue : Innover : faire quelque chose de nouveau Imiter : reprendre quelque chose qui a déjà marché ailleurs Améliorer en continu pas à pas : partir de la situation actuelle et la changer petit à petit en s’assurant que chaque changement est une amélioration 36

Agile : Focus sur Lean Ensemble de principes et de pratiques issus de Toyota : Management visuel : Consiste à rendre visible les écarts par rapport au standard. Comme cela il n’est pas besoin d’être courageux pour parler de ces écarts, ils sont traités tout de suite soit en renforçant la formation aux bonnes pratiques, soit en ajustant le standard. Gemba : Avoir conscience du lieu où la valeur ajoutée est crée. Kanban : Méthode de planification de production d’un flux tendu Attention : Comme tout principe (méthode, dogme, religion, …), lorsque celui-ci est appliqué de manière excessive il devient néfaste! 37

Les méthodes « Agiles » : Comment contractualiser? Rappel sur un contrat forfait classique : Le client porte le risque du besoin, tant dis que le fournisseur porte le risque du produit. Du fait qu’en ingénierie logicielle, le besoin évolue très fréquemment, mais que le contrat lui ne bouge pas, le client tente souvent de faire porter le risque du besoin sur le prestataire, ce qui donne souvent lieu à de nombreuses négociations contractuelles. Client Fournisseur

Les méthodes « Agiles » : Comment contractualiser? Solution pour contractualiser en agile : Engagement de moyen (régie) sur une équipe complète (Scrum Master Architecte, Développeur) Les itérations étant courtes, en cas de non satisfaction de la part du client, celui-ci pourra remercier rapidement l’équipe constituée. Forfait basé sur une métrique de productivité 1ères itérations facturées au temps passé pour mesurer la vélocité de l’équipe L’équipe est capable de produire tant de points (si l’on est en SCRUM) Ensuite l’engagement forfaitaire porte sur un nombre d’itérations devant respecter un certaine vélocité Le besoin fonctionnel peut évoluer en cours, à condition que la vélocité des itérations à produire reste la même. D’autres formes contractuelles existent : Target Coast, Target Delay, Partage de profit Exemple de contrat Agile proposé par Xebia : http://contrat-agile.org/

Les méthodes « Agiles » : Synthèse Intérêts : Favorise clairement la productivité Permet aux utilisateurs de mieux appréhender leurs besoins Difficultés à postériori : Nécessite une forte implication du client Conceptuellement plus complexe à appréhender (pour le client et pour les prestataires) Nécessite des collaborateurs très compétents, capables d’être performants aussi bien sur le fonctionnel que sur le technique Nécessité absolue de mettre en œuvre des outils de contrôle de qualité et de non régression Méthodes (très) difficiles à mettre en œuvre sur des gros projets (30, 40, … ETP) La contractualisation est rendue plus difficile

Management et suivi de la prestation Maintenance Opérationnelle Cycle de vie des TMA TMA Le Cycle de vie peut être spécifique à chaque métier Tierce Maintenance Applicative (exemple => ) Infogérance Etc. Management et suivi de la prestation Réversibilité Prise en compte Acquisition des connaissances Organisation Maintenance en mode assisté Maintenance Opérationnelle Maintenance en mode autonome Réalisation des services de maintenance Projets d’évolution Fin de TMA Recette Réversibilité Montée en charge équipe Client Transfert de l’activité O r g a n i s a ti o n Lancement Recette

Les TMA : Comment contractualiser? (en général) La phase de prise en compte est forfaitaire Il arrive qu’elle soit offerte au client en tant que geste commercial En phase opérationnelle : Les activités de MCO, Support sont forfaitaires, mais basées sur un volume d’activité déjà constaté ou estimé (nombre d’anomalies, nombre d’incidents, …) Les évolutions sont forfaitaires et utilisent des Unités d’Œuvre pour les valoriser La phase de réversibilité est forfaitaire

En synthèse

Quelle méthode pour quel cas ? Comment savoir quelle méthode appliquer ? Client CQFD ! Volontaire Peu impliqué Expérimenté « Votre » méthode Type de projet Technique ERP/Décisionnel Dév. Spécifique C/S Dév. Spécifique J2EE Taille du projet Petit (<500 j/h) Moyen Important (>5000 j/h) Risque Normal Élevé Très élevé

Prochaines sessions Session 4 : Découpage d’un projet TP 1 : Outil de suivi d’un projet (L. Descamps) Session 5 : Estimation des charges Session 6 : Outils de planification Session 7 : Gestion des ressources d’un projet Session 8 : Suivi d’un projet TP2 : Suivi pratique d’un projet (L. Descamps) Session 9 : Coûts d’un projet / Gestion des risques Session 10 : Assurance Qualité Session 11 : Recette et AMOA Session 12 : Conduite du changement Session 13 : Bilan de projet Examen, correction