Gestion de projet Cycles de production

Slides:



Advertisements
Présentations similaires
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,
Advertisements

Amélioration de la qualité des forfaits
Eléments de Génie Logiciel
Processus d'expression du besoin
L'installation et la diffusion 1 LInstallation et la Diffusion.
La Recette La recette.
Les Evolutions et la Maintenance
LA QUALITE LOGICIELLE Plan du cours Le Plan Qualité 1 h ½
LA QUALITE LOGICIELLE Plan du cours La solution ½ h Introduction ½ h
Le processus unifié UML est un langage de modélisation et n ’impose pas de démarche de développement Le processus unifié : méthodologie de développement.
Les démarches de développement
Les démarches de développement
Plan La modularité Le processus de développement logiciel
Phase de préparation des itérations Produit Story 11 Release1 Story 1mStory 21 Release2 Story 2m… …
Rational Unified Process (RUP)
Les Ateliers de Génie Logiciel
Filière Informatique et Réseaux
La revue de projet.
MRP, MRP II, ERP : Finalités et particularités de chacun.
MIAGE MASTER 1 Cours de gestion de projet
MANAGEMENT DU PRODUIT Organisation Technique du Produit (OTP) Objet Arborescence Produits Relation autres domaines Décomposition du système Gestion.
Parcours de formation SIN-7
METHODE AGIL Présenté par : GRIOUI Haykel MILADI Hedi CHARFI Habib
Le projet en STI2D Initier le projet Délimiter les champs du possible
Feature Driven Development (FDD)
Paul Bories Cyril Enrici Bouzidi Gharoual Kevin Royere
Équipe de projet Méthodologie
© 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.
Les étapes du cycle de développement du génie logiciel
La Gestion de Projet.
Cycle de vie: « Waterfall » GEF492A Automne 2014 [HvV § 3.1]
Mise en oeuvre et exploitation
Le management de l'IVVQ Processus techniques IVVQ
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]
Institut Supérieur des Sciences Appliquées et de Technologie Sousse
GENIE LOGICIEL
Définitions Gestion Exemple
GESTION DE PROJET
Suivi de projet Architecture de l’information par l’équipe en charge du projet A Mille 2013.
Vérification dans le cycle de vie GEF492A 2014 Référence: [HvV §14.2, 14.9] Capt Vincent Roberge Collège Militaire Royal du Canada Génie électrique et.
Cycles de Vie du Logiciel LFI2 Genie Logiciel/ Gestion de Projets Septembre 2008.
1 Emeric ROLLIN 1 Génie Logiciel GENIE LOGICIEL
Introduction au Génie Logiciel
Initiation à la conception des systèmes d'informations
Cycles de vie des projets
Présentation AICHA REVEL INGENIEUR D’ÉTUDE STERIA DEPARTEMENT TRD
Problèmes du génie logiciel. H. Lounis Les problèmes zTaille et complexité des logiciels ; zTaille croissante des équipes ; zSpécifications peu précises.
Année 2006 – 2007 ENSEA © Emeric Rollin
1 Vers la gestion de la cohérence dans les processus multi-modèles métier Wolfgang THEURER Ecole Nationale Supérieure d’Ingénieurs des Etudes et Techniques.
Quels enjeux Les Nouvelles Technologies sont utilisées sur tous types de projets Applications B2E, B2B, B2C Produits Client-Serveur.
L’enseignement de spécialité SLAM
OPTIMISATION DE LA PLANIFICATION
Sites Pilotes Généralisation
G.L modèle en CASCADE Plan Réalisé par : Selmane mohamed lamine
Les démarches de développement
Soutenance Phase 1 Bibliographie et Analyse des besoins
2 Tracks Unified Process
Informatique et Sciences du Numérique
Travaux sur « études de cas » Saintes, le 20 juin ème journée académique.
© Petko ValtchevUniversité de Montréal Janvier IFT 2251 Génie Logiciel Le Processus Hiver 2002 Petko Valtchev.
GESTION DE PROJET P KUBIAK Concepts de Base Les phases Les cycles.
Ergonomie et conception participative
Conférence 2TUP Stéphane Barthon 03/12/
C’est ce que l’on veut obtenir la manière dont on va l’obtenir
SIO Gestion de projets, applications SIO Hager Khechine, MBA, PhD. Séance 2 : Méthodes de découpage de projets.
Production de ressources pour le cycle 3 Lycée Diderot le 8 mars 2016
4 1 : A quoi sert la gestion de projet
Transcription de la présentation:

Gestion de projet Cycles de production Laurent Berenguier – laurent.berenguier@gmail.com Patrick Reynoudt – patrick.reynoudt@gmail.com

Des étapes clés Cycle de développement Analyse Capturer et décrire précisément le besoin Identifier le périmètre fonctionnelle et les contraintes non fonctionnelles Conception Construire une solution possible répondant au besoin Développement Réaliser la solution dans le respect de la conception (et donc de la spécification) Validation Vérifier que le logiciel produit répond au besoin exprimé Compléments pour le cycle de vie du logiciel Déploiement Intégrer le logiciel dans son environnement cible Le rendre prêt à l’emploi Maintenance Modifier le logiciel pour suivre l’évolution de son environnement (organisation, technique…) et répondre aux nouveaux besoins Il existe plusieurs types de maintenance : perfective, préventive, corrective, évolutive

Cycle de vie du logiciel (1/2) La formalisation d’un cycle de vie doit permettre de Définir clairement les étapes retenues dans le cadre du projet Donner pour chacune des étapes Les données en entrée Une méthodologie de réalisation Les critères de sortie Les acteurs impliqués Obtenir des produits fiables, de qualité constante Maîtriser la complexité croissante des projets Accepter l’évolution des besoins et les omissions client Un cycle est un modèle global donnant l’organisation de ces différentes étapes Il nous aide à comprendre les différentes étapes et décrit les relations inter-étapes Il doit être instancié pour chaque projet selon ses spécificités Le travail sur le cycle de production a pour but d’optimiser les coûts et les risques engendrés par le projet

Cycle de vie du logiciel (2/2) Le choix d’un modèle est un élément clé dès le début d’un projet Chaque cycle / modèle de production présente des avantages et des inconvénients qu’il faut prendre en compte L’instanciation d’un modèle doit être faite selon les spécificités du projet Quelques cycles « de base » Cascade V Incrémental Prototypage Exploratoire eXtrem Programming

Cycle en cascade (1/2) Spécification du logiciel Cahier des charges Spécifications fonctionnelles Conception préliminaire Dossier d’analyse Conception détaillée Dossier de conception Modèle d’architecture Codage Code documenté Tests unitaires Rapports de test Intégration et validation Rapports de test Documentation utilisateur Exploitation

Cycle en cascade (2/2) Avantages Inconvénients Premier cycle construit comme un processus Définition fonctionnelle Terminologie précise et activités bien identifiées Les livrables sont clairs en sortie de chaque étape et de fait, les entrées sont claires pour l’étape suivante Inconvénients Cycle très rigide : les étapes sont verrouillées L’activité informatique est-elle compatible avec une vue séquentielle? Pour le client, les premiers résultats visibles sont tardifs Qu’en est-il de la faisabilité du logiciel ?

Cycle en V (1/2) Demandes client Système validé Validation du système Plan de validation Validation du système Étude des besoins Spécification des besoins Plan de vérification Tests fonctionnels Conception générale Dossier d’intégration Tests d’intégration Conception détaillée Dossiers de test Tests unitaires Codage Gestion de la documentation et de la configuration Gestion du projet

Cycle en V (2/2) Avantages Inconvénients La remontée du cycle est bien verrouillée par des plans et des livrables Convient bien à des grands projets La gestion de projets est signalée, même si le schéma n’exprime pas le jalonnement La notion d’intégration et de plan d’intégration figure clairement A chaque étape du développement correspond une phase de validation Inconvénients L’élément de base reste une cascade

Cycle de vie incrémental (1/2) Système cœur Spécification du logiciel Conception préliminaire Incrément 1 Conception détaillée Spécification du logiciel Codage Tests unitaires Conception préliminaire Conception détaillée Incrément 2 Spécification du logiciel Codage Intégration et validation Tests unitaires Conception préliminaire Conception détaillée Codage Tests unitaires

Cycle de vie incrémental (2/2) Avantages Souplesse, absence de blocage en cas de spécification incomplète Une première approche vis-à-vis de la complexité Les lots sont des réalisations à taille humaine, pouvant être traités par des équipes très réduites Les développeurs peuvent viser des objectifs à court terme Le client peut voir rapidement des réalisations Inconvénients Le cycle ne dit pas comment les lots fonctionnels sont découpés, la difficulté est d’identifier le système cœur et les incréments Le découpage ne résout pas l’aspect séquentiel et rigide type Cascade sur chacun des lots Accroissement des coûts  Difficultés de gestion de projet, de la configuration, de la qualité

Cycle par prototypage (1/2) « Grandes lignes » des besoins Construction du prototype Évaluation avec le client ? Mise à jour des spécifications KO OK Spécifications

Cycle par prototypage (2/2) Avantages Une application informatique est un excellent support de communication avec le Client Par l’utilisation de technologies adéquates, le temps de prototypage peut être très court On peut tirer du prototype d’autres enseignements : réflexion sur l’architecture et/ou une faisabilité technique, clarification des besoins, essai des IHM Inconvénients Le Client peut voir dans le prototype le système final (et donc être insatisfait des imperfections) La technologie employée spécialement par le prototype donne une idée qui peut être fausse du développement futur Il faut avoir la détermination de jeter le prototype et le prototype ne doit implémenter que les parties qui nécessitent une réflexion

Cycle de vie exploratoire (1/2) « Résumé » des spécifications Construction du système Utilisation du système Convient ? Non Oui Livrer le système

Cycle de vie exploratoire (2/2) Avantages Convient pour des domaines où la spécification est réellement impossible à obtenir Inconvénients Pas de gestion de projet, plannings très difficiles à obtenir Rien de contractuel : que signifie le mot ‘convient’ s’il n’y a pas de cahier des charges en entrée Itérations nombreuses : documentation difficile à gérer  Nécessite des outils avancés de développement rapide pour atteindre une certaine efficacité

Cycle de vie eXtrem Programming – XP (1/3) Scénarios utilisateurs Scénarios de test Spécifications Nouveau scénario utilisateur Bugs Métaphore du système Planification release Plan de livraison Dernière version Tests d’acceptance Itération Approbation client Transition architecturale Prochaine itération Estimations confiantes Estimations incertaines Transition

Cycle de vie eXtrem Programming – XP (2/3) eXtrem Programming fait partie des nouvelles méthodes dites agiles de gestion de projet informatique Il s’appuie donc sur leurs 4 Valeurs Essentielles Communication Tout doit être prétexte à communiquer. Privilégier les échanges en face-à-face. Simplicité Faire simple avant tout Retour d’information (feedback) Utiliser les expériences passées et les remarques du client le plus possible Courage Il faudra peut-être jeter des semaines de travail pour suivre de nouvelles exigences client et faire face à une difficulté

Cycle de vie eXtrem Programming – XP (3/3) Les 13 pratiques de l’eXtrem Programming Client sur le Site Pour une meilleure communication, le client et les développeurs travaillent dans le même espace. Séance de Planification Le client définit les scénarios utilisateurs prioritaires. L’équipe discute le contenu de ces scénarios, définit les tâches techniques sous-jacentes et les estime ces tâches. Intégration Continue Le système est intégralement assemblé et testé une à plusieurs fois par jour. Livraisons Fréquentes Le rythme des livraisons est de l'ordre de quelques semaines. Rythme Soutenable L'équipe ne fait pas d'heures supplémentaires deux semaines de suite. Tests de Recette Retour d'information rapide sur le système, en général automatisé, constitué à partir de critères de tests définis par le client. Tests Unitaires Tests automatisés écrits pour chaque méthode. Ces tests doivent passer à 100% continuellement. Conception Simple Le code doit passer tous les tests et répondre aux critères de maintenabilité : concision, modularité, cohérence, lisibilité. Métaphore Une analogie utilisée comme modèle conceptuel du système en cours de développement. Remaniement Continu Modification du code par laquelle on améliore sa conception sans en modifier le comportement. Convention de Code Le code doit suivre une convention de nommage et de présentation afin d'être lisible par tous les membres de l'équipe. Programmation En Binôme Le code de production est toujours écrit par deux développeurs : le pilote et le copilote. Les binômes changent au cours du projet. Propriété Collective du Code Chaque développeur peut modifier chaque partie du code si le besoin s'en fait sentir.

Conclusion Les cycles vie sont nombreux et différents Ils évoluent continuellement, de manière théorique et/ou pratique, avec l’évolution des projets informatiques Il convient d’adapter le choix en fonction des spécificités du projet telles que la taille, la criticité, la maturité, l’environnement, …