Overblog
Suivre ce blog Administration + Créer mon blog
3 décembre 2017 7 03 /12 /décembre /2017 16:47

LA DIFERENCE ENTRE LES METHODES AGILES ET LA METHODE SEQUENTIELLE


INTRODUCTION

Le métier de chef de projet est très enrichissant mais aussi très complexe car il est amené à évoluer dans différents environnements qui sont en constantes évolutions. Il doit donc être multi compétent, c'est-à-dire maîtriser les techniques de gestion de projet, de management d’équipe, d’avoir un bon relationnel lors des échanges avec le client et enfin de comprendre les spécificités du projet. 
L’objectif du chef de projet est de pouvoir mener son projet à terme en respectant les délais et le budget alloué. Pour atteindre cet objectif, il doit prendre en compte les 3C qui sont les trois contraintes que constitue le projet. Pour atteindre son objectif, le chef de projet peut avoir recours à plusieurs méthodes de gestion de projet.

1. LA METHODE SEQUENTIELLE
 Depuis toujours, les projets sont gérés avec la méthode dite « classique » qui se caractérise par recueillir les besoins, définir le produit, le développer et le tester avant de le livrer. On parle alors ici d’une approche prédictive « cycle en cascade » 
Comme son nom l’indique, il s’agit ici de prévoir des phases séquentielles où il faut valider l’étape précédente pour passer à la suivante. Le chef de projet doit alors s’engager sur un planning précis de réalisation du projet en prévoyant des jalons de débuts et fins de phases ainsi que les tâches à effectuer.
Il faut tout faire bien du premier coup car elle ne peut pas permettre de retours en arrière. Une décision ou un problème rencontré dans une phase peuvent remettre en cause partiellement ou totalement les phases précédentes validées. 
Dans un cycle « en cascade » les risques sont détectés tardivement puisqu’il faut attendre la fin du développement pour effectuer la phase de test. Plus le projet avance, plus l’impact des risques augmente : il sera toujours plus difficile et coûteux de revenir en arrière lorsqu’on découvre une anomalie tardivement. 
Afin d’anticiper au mieux ces risques il est nécessaire de produire des documents très détaillés en amont (recueil des besoins, cahier des charges, zoning, wireframe etc.) qui seront validés par le client. Néanmoins, ces documents restent théoriques et conceptuels jusqu’à ce que le dispositif soit testé dans des conditions réelles ; le client validera le contenu papier (conception, maquette, développement fonctionnalités, etc.) mais sera toujours plus sensible à ce qu’il verra sur son écran. 
Au final, du point de vue du client, c’est le chef de projet qui aurait dû anticiper ce problème alors qu’il est impossible de tout prévoir à l’avance surtout dans un environnement instable qui évolue constamment où il y a sans cesse de nouvelles technologies qui font leur apparition. Par exemple une société qui investi un gros budget dans la création de son site internet en flash car c’est tendance ; l’année suivante l’iPhone débarque mais est incapable de lire le flash, l’entreprise doit à nouveau réinvestir dans une version HTML de son site web pour être visible sur iPhone. 
Par conséquent, comment peut-on augmenter la satisfaction du client en facilitant la gestion de projet et améliorant la qualité de développement ? Comment mieux s’adapter aux imprévus du projet ? Les méthodes dites « agiles » vont nous permettre de répondre à toutes ces questions. 

2. LES METHODES AGILES
Le mouvement des méthodes agiles a commencé en 2001 aux Etats-Unis. Dix-sept experts en développement logiciel se sont réunis afin de mettre au point ces méthodes suite à un taux d’échec important des projets observés dans les années 90. 
Ce rassemblement a donné naissance à un Manifeste définissant quatre valeurs : 
Les individus et leurs interactions avant les processus et les outils ;
Des fonctionnalités opérationnelles avant la documentation ;
Collaboration avec le client plutôt que contractualisation des relations ; 
Acceptation du changement plutôt que conformité aux plans. 
Les méthodes agiles utilisent un principe de développement itératif qui consiste à découper le projet en plusieurs étapes qu’on appelle « itérations ». 
Ces itérations sont en fait des mini-projets définis avec le client en détaillant les différentes fonctionnalités qui seront développées en fonction de leur priorité. Le chef de projet établi alors un macro planning correspondant aux tâches nécessaires pour le développement de ces fonctionnalités. 
Le but est d’assumer le fait que l’on ne peut pas tout connaître et anticiper quelque soit notre expérience. On découpe alors le projet en itérations plutôt que de tout prévoir et planifier en sachant que des imprévus arriveront en cours de route. Voici les avantages du développement itératif : 
Meilleure qualité de la communication : L’utilisateur à la possibilité de clarifier ses exigences au fur et à mesure 
Meilleure visibilité : Le client a eu meilleure visibilité sur l’avancement des travaux. 
Meilleur contrôle de la qualité : les tests sont effectués en continu
Meilleure détection des risques : Les risques sont détectés plus tôt
Motivation et confiance de l’équipe : satisfaction d’atteindre un objectif fixé
Contrôle des coûts : le projet peut être arrêtés s‘il n’y a plus de budget

2.1. LES PRINCIPES METHODES AGILES


a) ASD (Adaptive software Development). 
Créée par Jim Highsmith (signataire du Manifeste) en 2000 en publiant l’ouvrage Adaptative Software Development, a collaborative approach to managing complex systems. Ses caractéristiques principales sont : 
Focaliser sur l’objectif (mission focused) ; 
Se baser sur des composants (component-based) ; 
Itérer Découper le temps et fixer des deadlines (timeboxing) ;
Piloter le projet par les risques (risk-driven development ) ;
Accepter le changement. 

b) Crystal
Cette méthode a été mise au point par Alistair Cockburn (signataire du Manifeste) en 1997. Elle consiste à sélectionner la méthode applicable en fonction du nombre de personnes à coordonnées. Ses caractéristiques principales sont :
Des livraisons fréquentes ;
Des aménagements permanents ;
Une bonne communication interpersonnelle ;
Confiance, liberté d’expression et sécurité personnelle ;
Focus sur l’objectif et disponibilité ;
Un contact permanent avec les utilisateurs ;
Un environnement de travail approprié pour l’automatisation des tests, la gestion de configuration et les intégrations fréquentes
Une collaboration étroite entre toutes les parties prenantes, y compris en dehors de l’équipe
Une réflexion constante sur ces propriétés 

c) Scrum
Le Scrum ou « mêlée », créée par Ken Schwaber et Jeff Sutherland (signataires du Manifeste) en 1993, est un terme emprunté au rugby qui désigne la solidarité et la force qui lient les membres de l’équipe au succès de l’itération. 
Le cycle de vie de Scrum est rythmé par des itérations de quatre semaines qu’on appel sprints. Avant chaque sprint, on effectue une réunion de planification appelée le sprint planning meeting qui consiste à sélectionner les exigences prioritaires pour le client dans le produit backlog qui seront développées, testées et livrées au client : le backlog sprint (sous- ensemble du produit backlog). 
Des mêlées sont organisées quotidiennement (mêlée) durant le sprint afin de contrôler l’avancement pour s’assurer que les objectifs sont tenus. A la fin du sprint, une démonstration des derniers développements est faite au client qui donnera lieu à un bilan qualitatif sur le fonctionnement de l’équipe. Les valeurs mises en avant par cette méthode sont les suivantes : 
Visibilité : Avoir une vision réelle sur le résultat ; 
Inspection : Vérifier l’écart par rapport à l’objectif initial ;
Adaptation : S’adapter en fonction des écarts constatés afin de les ajuster. Scrum est favorable à des petits ajustements fréquents.
 Il existe d’autres méthodes agiles : 
DSDM (Dynamic Software Development Method) créée en Grande Bretagne en 1995 
RAD (Rapid Application Development) créée par James Martin en 1991
 XP (eXtreme Programming) créée en 1999.

d) Sequentielle ou Agiles ?
Voici un tableau récapitulatif des différences entre les deux méthodes.

Tableau descriptif des différences entre les deux méthodes
ThèmeApproche traditionnelleApproche agile
Cycle de vieen cascade ou en V, sans rétroaction possible, phases séquentiellesitératif et incrémentale
Planificationpredictive, caractérisés par des plans plus au moins détaillés d'une périmètre et des exigences définies et stables au début du projet.Adaptive avec plusieurs niveaux de planification (macro et micro planification) avec agissements si nécessaires au fil de l'eau en fonction des changements survenus
Documentationproduite en quantité importante comme support de communication, de validation et de  contractualisation.Réduite au stricte nécessaire au profit d'incréments fonctionnels opérationnels pour obtenir le feedback du client.
Équipeune équipe avec des ressources spécialisées, dirigée par un chef de projet.Une équipe responsabilisée où l'initiative et la communication sont privilégiées, soutenu par le chef de projet.
Qualitécontrôle de qualité à la fin du cycle de développement. Le client découvre le produit fini.Un contrôle qualité précise et permanent, au niveau du produit et du processus. le client visualise les résultats tôt et fréquemment.
Changementrésistance voire opposition au changement. Processus lourds de gestion des changements acceptés.Accueil favorable au changement inéluctable intégré dans le processus.
Suivi de l'avancementmesure de la conformité aux plans i initiaux. Analyse des écarts.Un seul indicateur d'avancement : le nombre des fonctionnalités implémentés et le travail restant à faire.
Gestion des risquesprocessus distinct, rigoureux de gestion des risques.Gestion des risques intégrée dans le processus global avec responsabilisation des chacun dans l'identification et la résolution des risques. Pilotages des risques.
Mesure du succèsrespect des engagements initiaux en termes de coût, de budget et de niveau de qualité.Satisfaction client par la livraison de valeur ajouté

CONCLUSION

Les méthodes agiles seront plus utilisées pour les gros projets car elles offrent une meilleure adaptabilité, visibilité et gestion des risques. Elles pourraient tout aussi bien être utilisées pour les projets où il n’y pas de documentations détaillées, le client peut alors voir l’évolution du projet et l’adapter selon ses besoins.
En revanche, les méthodes séquentielles ou classiques seront plus utilisées si vous avez une idée très précise de votre projet avec un cahier des charges et planning très détaillé où vous avez anticipé tous les risques possibles. 
Le chef de projet se retrouve souvent seul face à lui-même lors de la prise de décision, de gérer les retours client, devant l’incertitude afin de satisfaire le client tout en respectant les 3C. On pourrait alors l’assimiler à un art martial car il doit avoir une grande maitrise de soi et de l’environnement de chaque projet auquel il est amené à gérer. 
 

Partager cet article
Repost0
14 avril 2016 4 14 /04 /avril /2016 03:01

Dans cet exposé, on suppose que l'on connait déjà MERISE

INTRODUCTION

Un système d’information est un ensemble constitué d’éléments unis par des relations, ces éléments et ces relations étant munis de propriétés. La conception d'un système d'information n'est pas évidente car il faut réfléchir à l'ensemble de l'organisation que l'on doit mettre en place pour fidéliser les besoins du client. Une méthode d'analyse et de conception a donc pour objectif de permettre de formaliser les étapes préliminaires du développement d'un système d’information afin de rendre ce développement plus fidèle aux besoins du client. Il existe plusieurs méthodes d'analyse qui sont : Méthodes agiles, Hoom, UP, OOSE... ainsi que MERISE la méthode la plus utilisée en France. MERISE (Méthode d’Etude et de Réalisation Informatique pour les Systèmes d’Entreprise) est une méthode d'analyse et de réalisation des systèmes d'information qui est élaborée en plusieurs étapes: schéma directeur, étude préalable, étude détaillée et la réalisation.

 

En plus, Le projet d’analyse et de conception des systèmes d’information est cependant géré par différents types de méthodes dites méthodes Agiles. Les méthodes Agiles sont un style de méthode de développement logiciel itératif centré sur les personnes et qui met l'accent sur la satisfaction du client à travers l'intégration continue d'un logiciel entièrement fonctionnel. Elles visent la satisfaction réelle du besoin du client et non les termes d'un contrat de développement. Parmi ces méthodes on trouve la toute première appelée RAD (Rapid Applications Development) créée en 1991, Scrum créée en 1996, XP (Extreme Programming) créée en 1999, ASD (Adaptiv Software Development ) créée en 2000. De toutes les méthodologies Agile, Scrum est unique parce qu'elle introduit le concept de " contrôle empirique des processus". Ce qui signifie que Scrum utilise le progrès réel d'un projet plutôt qu'une estimation ou une prévision mal informée afin de planifier les livrables. Scrum est un processus léger permettant de gérer et de contrôler le développement de produits logiciels. Mettant en œuvre des pratiques itératives et incrémentales. Scrum est en soi, une méthode efficace. Elle peut néanmoins être associée à d’autres pratiques d'ingénierie, notamment Extreme Programming et d’autres méthodes de développement logiciel itératif. C’est l’une des méthodes agiles les plus employées, car elle permet d’améliorer notablement la productivité tout en accélérant le retour sur investissement. L’objectif de cette étude est de présenter et de comparer les méthodes d’analyse et de conception des systèmes d’information MERISE et l’une des méthodes Agile de gestion des projets de développement informatique Scrum.

 

  1. PRESENTATION DES METHODES AGILES : SCRUM

 

  1. Définition

Scrum est une méthode agile pour la gestion de projets basée sur des multiples petites équipes travaillant intensément et indépendamment. Scrum maximise sa productivité facile à adapter à son cycle de développement et nécessite la saisie et le suivi d'une liste de fonctionnalités pour l'ensemble du projet et d'une liste de tâches pour chaque itération. Elle demande également la production de tableaux de bords (c'est-à-dire rapports graphiques). Bien sûr, un simple fichier Excel peut suffire, mais l'accès partagé à un fichier Excel par toute l'équipe, en écriture et en consultation, est toujours problématique.

 

  1. Historique

Le terme Scrum est emprunté au rugby et signifie mêlée. Ce processus s'articule en effet autour d'une équipe soudée, qui cherche à atteindre un but, comme c'est le cas en rugby pour avancer avec le ballon pendant une mêlée. En 1986, Hirotaka Takeuchi et Ikujiro Nonaka décrivent une nouvelle approche holistique qui augmenterait la vitesse et la flexibilité dans le développement commercial de nouveaux produits. Dans celle-ci les phases se chevauchent fortement et l'ensemble du processus est réalisé par une équipe aux compétences croisées à travers différentes phases. Ils ont comparé cette nouvelle approche au rugby, où l'équipe essaye d'avancer unie, en faisant circuler la balle. En 1991, DeGrace et Stahl font référence à cette approche comme Scrum (mêlée, en anglais), un terme de rugby mentionné dans l'article de Takeuchi et Nonaka. Dans le début des années 1990, Ken Schwaber a utilisé une approche qui a conduit à Scrum au sein de son entreprise. En même temps, Jeff Sutherland, John Scumniotales et Jeff McKenna développent une approche similaire à Easel Corporation et sont les premiers à appeler cela. En 1995, Sutherland et Schwaber ont présenté conjointement un document décrivant Scrum. Schwaber et Sutherland ont collaboré au cours des années suivantes pour fusionner les publications, leurs expériences et les meilleures pratiques du secteur en ce qui est maintenant connu comme Scrum. En 2001, Schwaber fait équipe avec Mike Beedle pour décrire la méthode dans le livre "Agile Software Development With Scrum". En France, le premier livre français entièrement consacré à Scrum est publié en février 2010 : "SCRUM : Le guide pratique de la méthode agile la plus populaire".

 

  1. Méthodologie Scrum et Cycle de développement

Scrum utilise le progrès réel d'un projet et les projets sont divisés en parties succinctes de travail, appelées "sprints", qui sont généralement d'une durée de 1 à 4 semaines. À la fin de chaque sprint, les membres de l'équipe ainsi que les autres gens impliqués se rencontrent afin d'évaluer les progrès du projet et planifier les prochaines étapes. Ceci permet d'ajuster ou réorienter un projet selon l'évolution du travail et non des spéculations ou des prédictions. Chaque Sprint possède un but à atteindre, défini par le Directeur de produit, à partir duquel sont choisies les fonctionnalités à implémenter dans ce sprint, et dure au plus quatre semaines. Un sprint aboutit toujours sur la livraison d'un produit partiel fonctionnel. Pendant ce temps, le Scrum Master a la charge de réduire au maximum les perturbations extérieures et de résoudre les problèmes non techniques de l'équipe. Pendant un Sprint, des réunions quotidiennes de moins de 15 minutes (appelées Scrum) permettent à toute l'équipe de faire le point sur le travail accompli par chacun depuis la dernière réunion Scrum, les obstacles rencontrés, et le travail prévu d'ici la prochaine réunion. La méthodologie Scrum Agile apporte des rôles, responsabilités et réunions qui assurent le bon déroulement d'un projet.

 

 

 

  1. Rôles
  • Le propriétaire: Communique la vision du produit aux membres de l'équipe. Représente les intérêts du client via les besoins et la priorisation de ceux-ci. Il Possède la plus haute autorité des 3 rôles et aussi le plus de responsabilité. Lorsqu'un projet tourne mal, c'est vers lui que l'on pointe.
  • Le Scrum Master : fait le pond entre l'équipe et le propriétaire. Il Ne gère pas l'équipe mais fait tout pour enlever les recueilles sur la route de l'équipe de développement afin d'atteindre les buts du sprint, aide l'équipe à demeurer productive et montre l'avancement au propriétaire. Indique aussi au propriétaire les façons d'optimiser le retour sur investissement pour l'équipe.
  • Les membres de l'équipe : l'équipe idéale consiste de 7 membres provenant de disciplines différentes et plus ou moins 2 autres individus. Pour un projet d'application une équipe typique sera composée d'un amalgame d'ingénieurs, architectes, programmeurs, analystes, experts AQ, testeurs et designers d’Users Interface. À chaque sprint, l'équipe est responsable de déterminer comment s’accomplira le travail. Ceci offre une grande autonomie mais aussi la responsabilité d'atteindre ces buts pour le sprint. Durant chaque réunion, l'équipe et le propriétaire discutent de priorisation et des items en attente de développement. Les membres de l'équipe s'entendent sur le travail à faire et se crée une liste des tâches à effectuer durant le sprint.

 

  1. COMPARAISON DE LA METHODE MERISE ET LES METHODES AGILES : SCRUM

Quand à Merise, son approche fonctionnelle propose une approche descendante où le système réel est décomposé en activités, elles-mêmes déclinées en fonctions. Les fonctions sont composées de règles de gestion, elles-mêmes regroupées en opérations. Ces règles de gestion au niveau conceptuel génèrent des modules décomposés en modules plus simples et ainsi de suite jusqu'à obtenir des modules élémentaires... Les limites d'une telle approche résident dans le fait que les modules sont difficilement extensibles et exploitables pour de nouveaux systèmes.

Mais par contre, Scrum utilise une approche fonctionnelle pour récolter les besoins des utilisateurs. L'objectif est d'établir une liste de fonctionnalités à réaliser, que l'on appelle backlog de produit (Le terme backlog peut être traduit par cahier, liste ou carnet de commandes, qui ne colle pas bien avec l'esprit du terme anglais qui évoque aussi une réserve, un retard accumulé ; aussi ce terme a été gardé tel quel). À chaque item de backlog sont associés deux attributs : une estimation en points arbitraires et une valeur client, qui est définie par le directeur de produit (retour sur investissement par exemple). Ce dernier définit dans quel ordre devront être réalisés ces items. Il peut changer cet ordre en cours de projet et même ajouter, modifier ou supprimer des items dans le backlog. La somme des points des items du backlog de produit constitue le reste à faire au reste du projet. Cela permet de produire un release burndown chart qui montre les points restant à réaliser au fur et à mesure des sprints.

En plus, Le schéma entité/association de Merise est un diagramme pour des descriptions de haut niveau de modèles conceptuels de données (MCD). L'entité est une association d'objets traduisant un réseau de relations de dépendance. Et une association est définie comme un lien sémantique de même nature reliant les occurrences de plusieurs entités donc elle définit des liens entre des types d'entité. Les associations sont caractérisées par des cardinalités. Le choix des cardinalités est essentiel et est aussi parfois discutable, et constitue donc l'aspect le plus délicat de la modélisation. Les cardinalités sont notées par deux chiffres. Le chiffre de droite est la cardinalité maximale, et celui de gauche est la cardinalité minimale. Mais cette dernière est moins importante que la cardinalités maximales.

Mais Scrum est un processus agile permettant de gérer et de contrôler le travail de développement et peut être utilisé pour intégrer des pratiques de génie logiciel existantes.

Enfin, il faut savoir qu’ils travaillent tous deux sur des concepts différents : Merise travaille sur un concept relationnel tandis que Scrum travail sur le concept de la qualité de l'environnement de travail de l'équipe.

 

  1. Démarche de développement des systèmes d’information
  1. Merise

La démarche de développement d un système d’information de Merise doit être conduite suivant trois axes appelés cycles dont le degré de prise en compte par les différentes méthodes oriente le choix de l’une d’entre elles en fonction des objectifs de l’étude : le cycle de vie : Il se situe sur une échelle de temps qui nous mène du point de départ à l’exploitation du système, en passant par sa création, sa maturité et sa maintenance. Le cycle de décision : Il représente l’ensemble des choix qui doivent être fait durant le déroulement du cycle de vie. Le cycle d’abstraction : C’est le découpage en ensembles homogènes de préoccupations. Il contient : le niveau conceptuel qui détermine les choix de gestion ; le niveau organisationnel qui détermine les choix d’organisation ; le niveau technique qui détermine les contraintes techniques ; la réalisation d’un système d’information est conduite au travers d’un projet décomposé en étapes s’appuyant sur les trois cycles définis précédemment :

  • Le schéma directeur informatique : est un plan d’action à moyens termes reprenant l’ensemble des activités devant être menées dans le cadre de la mise en œuvre et du développement d’un système d’information.
  • L’étude préalable par domaine : après avoir découpé le système d’information en domaines, la présente étape aboutit à la présentation générale du futur système de gestion en indiquant les principales motivations par rapport au système en vigueur, le coût, les avantages et les moyens matériels à mettre en œuvre.
  • L’étude détaillée par projet : consiste à élaborer un cahier des charges qui est un document dans lequel le maitre d’ouvrages décrit les spécificités d’un travail, tout en y définissant les conditions techniques, financières et autres.
  • La réalisation : qui consiste à mettre à la disposition des utilisateurs des programmes fonctionnant sur un jeu d’essai approuvé par ces derniers, en ajoutant à cela : la mise en œuvre et la maintenance.[1]

 

Les trois premières étapes correspondent à la partie conception du cycle de vie et les suivantes concernent la réalisation du système et son lancement. La méthodologie Merise s’intéresse plus particulièrement à cette partie conception.

 

  1. Scrum

Le cycle de développement de Scrum repose sur une théorie moderne du contrôle des processus et permet d’élaborer de façon systématique les meilleurs logiciels possibles à partir des ressources disponibles, à un niveau de qualité acceptable et dans le respect des délais de livraison. Le cycle de vie Scrum s’articule en brèves itérations de développement appelées «Sprints». Scrum synchronise étroitement les exigences logicielles avec toute une série de prototypes itératifs. À la fin de chaque sprint, les membres de l'équipe ainsi que les autres gens impliqués se rencontrent afin d'évaluer les progrès du projet et planifier les prochaines étapes. Ceci permet d'ajuster ou réorienter un projet selon l'évolution du travail et non des spéculations ou des prédictions. Ci-dessous les étapes à suivre durant un Scrum : Création d'un carnet de commandes du produit: Le propriétaire et l'équipe se rencontrent afin de prioriser les items du carnet de commandes du produit. Le propriétaire doit être en mesure de formuler sa vision du produit. Réunion de planification de sprint. Création de la planification du sprint. Séparation et distribution des items du carnet entre les membres de l'équipe selon leur disponibilité. Début du sprint pour une durée de 1 à 4 semaines. Aucune autre tâche ne peut être ajoutée. Scrum journalier. Revue du sprint. Redémarrage du cycle. Ses projets sont contrôlés par la mise en place, l’actualisation et le suivi de paramètres de contrôle essentiels, qui forment l’ossature du processus Scrum.[2]

 

  1. Les acteurs

Les acteurs d’un système sont les entités externes à ce système qui interagissent (saisie de données, réception d’information…) avec lui. Les acteurs sont donc à l’extérieur du système et dialoguent avec lui. Ces acteurs permettent de cerner l’interface que le système va devoir offrir à son environnement. Oublier des acteurs ou en identifier de faux conduit donc nécessairement à se tromper sur l’interface et donc la définition du système à produire.

Trois acteurs sont essentiels à un projet Scrum : Le product owner représente le client, disponible pour orienter l'équipe, il ordonne le travail en mettant à jour le product backlog. Le Scrum master protège de toutes perturbations la dynamique de l'équipe en solutionnant ses problèmes non techniques. L'équipe s'autogère sans hiérarchie interne. Il faut faire attention à ne pas confondre acteurs et utilisateurs (utilisateur avec le sens de la personne physique qui va appuyer sur un bouton) d’un système. D’une part parce que les acteurs inclus les utilisateurs humains mais aussi les autres systèmes informatiques ou hardware qui vont communiquer avec le système. D’autre part parce qu’un acteur englobe tout une classe d’utilisateur. Ainsi, plusieurs utilisateurs peuvent avoir le même rôle, et donc correspondre à un même acteur, et une même personne physique peut jouer des rôles différents vis-à-vis du système, et donc correspondre à plusieurs acteurs.

A l’opposé de Scrum, en Merise on distingue deux types d’acteurs : acteurs externes : éléments externes avec lesquels le système échange des flux d’information. Ex : clients, fournisseurs... Acteurs internes : acteurs faisant partie du système d’information étudié. Ex : guichet, service informatique... Ils sont représentés dans le MCC (Modèle Conceptuel de Communication) et dans le MCT (Modèle Conceptuel de Traitement).

  1. Présentation des cycles d’abstraction de Merise et Scrum
  1. Merise

 

Système d’information manuel

Expression des besoins

Modèle conceptuel de données

Modèle logique de données

Modèle physique des données

Système d’information automatisé

L’expression des besoins est une étape consistant à définir ce que l’on attend du système d’information automatisé, il faut pour cela : faire l’inventaire des éléments nécessaires au système d’information et délimiter le système en s’informant auprès des futurs utilisateurs.

Cela va permettre de créer le modèle conceptuel de la communication qui définit les flux d’informations à prendre en compte. L’étape suivante consiste à mettre au point le modèle conceptuel de données et le modèle conceptuel de traitement décrivant les règles et les contraintes à prendre en compte. Le modèle organisationnel consiste à définir le modèle organisationnel de traitement décrivant les contraintes dues à l’environnement. Le modèle logique de données représente un choix logiciel pour le système d’information.

Le modèle physique de données reflète un choix matériel pour le système d’information.[3

 

  1. Scrum

 

 

 

 

 

 

 

 

 

 

Comme le montre le graphique ci-dessus, Scrum s'impose comme un modèle d'efficacité, prônant l'expression : "aller à l'essentiel". Voici donc ce qu'il faut pour mettre en place correctement une méthodologie Scrum efficace :

  1. Equipe responsable, en auto-organisation : l'équipe de développement se doit d'être autonome pour palier aux éventuels changements d'un client trop indécis.
  2. Avancement du produit par une série de « sprints » : les itérations sont courtes, 2 à 4 semaines au plus, pour permettre des interventions rapides en cas de problèmes.
  3. Exigences définies : en fait d'exigences, on parlera surtout d'éléments à mettre en œuvre. Ces éléments sont regroupés sous l'appellation de "Backlog du produit".
  4. Pas de prescription de pratiques d’ingénierie : on reste dans un esprit d'autonomie de développement.
  5. Utilisation de règles génériques : on permet l'établissement d'un environnement agile propre au projet.[4]

 

 

 

2.4. Les points forts et faibles de deux méthodes

a) Les points forts et faibles de Merise

Pour petites bases de données, limitées à la troisième forme normale est généralement l’une des meilleures solutions du point de vue de l’architecture de base de données, mais pour les grandes bases de données, ce n’est pas toujours le cas. Il s’agit de choisir la balance entre deux options.

En d’autres termes, il ressort clairement de ces avantages et les inconvénients que l’arbitrage sera effectué sur le niveau de la normalisation sur la base des tables de la base de données sont priés de lire ou d’écrire plus. Si une table (base de données) est écrite plus en détail que de lire, il est préférable de normaliser autant que possible. Inversement, si une table (base de données) est plus largement lue et écrite, il peut être sage d’être moins strict sur le respect des normes afin d’améliorer les performances d’accès aux données.

Il faut être prudent lorsqu’on renonce à la forme normale. Il n’ya aucune garantie qu’une forme dénormalisée améliore le temps d’accès. En fait, la redondance peut provoquer une explosion des volumes de données qui peuvent réduire le rendement ou de saturer les disques durs.

La normalisation des modèles de données a été popularisé notamment par la méthode Merise. La principale limitation de la normalisation est que les données doivent être dans la même base de données (en un seul diagramme).

Même si les échanges et la consultation entre concepteurs et utilisateurs sont formellement organisés, on a aussi reproché à Merise d'utiliser un formalisme jugé complexe (surtout pour les modèles de données), qu'il faut d'abord apprendre à manier, mais qui constitue ensuite un véritable langage commun, puissant et rigoureux pour qui le maîtrise.

 

En outres, les limites de Merise sont telles que : elle est bien adaptée pour l’automatisation des tâches séquentielles de gestion pure. Toutefois, il est peu adapté pour les environnements distribués où plusieurs applications sont externes à un domaine d’interagir avec le modèle d’application. En d’autres termes, elle n’est pas en mesure de modéliser les données à caractère sémantique.

 

  1. Les points forts et faibles de SCRUM

L'avantage des Méthodes Agiles réside avant tout dans le fait qu'elles mettent en avant une démarche plus pragmatique que les démarches traditionnelles, en impliquant au maximum le client, et en privilégiant la réalisation d'un produit véritablement opérationnel, et tout cela à moindre coût. Répondre au changement plutôt que suivre un plan préétabli, prendre en compte le fait que les conditions et les objectifs d'une entreprise puissent évoluer avec le temps, même pendant que se déroule le projet, correspond tout à fait à la vision de l'innovation, inhérente au développement des Méthodes Agiles. Un principe fort en Scrum est la participation active du client pour définir les priorités dans les fonctionnalités du logiciel, et pour choisir celles qui seront réalisées dans chaque sprint. Il peut à tout moment compléter ou modifier la liste des fonctionnalités à réaliser, mais jamais celles qui sont en cours de réalisation pendant un sprint.

Il est entièrement développé et testé pour de courtes itérations. Ses processus de développement sont très simples. Ses règles sont définies clairement. Augmentation de productivité. Organisation personnelle. Chaque équipe a son lot de responsabilité. Amélioration de la communication. Combinaison possible avec XP.

Ses points faibles sont tels que : il a peu, voire pas, de documentation écrite. Le gros problème réside bien souvent dans l'aspect documentation du projet. Comme la méthode privilégie le fonctionnel, on se retrouve rapidement avec des projets non-documentés. La mise en œuvre du développement n'est pas précisée, seule la gestion des ressources humaines qui compte. L'équipe ne se prête pas au Scrum. Il est clair que si l'équipe ne prend pas le temps de remplir correctement les indicateurs comme le Scrum Board et les Burndow Chart, le suivi n'est pas correctement assuré. D'autres parts on remarque bien souvent que dans la gestion du SCRUM, les manager sont tentés de passer outre les responsabilités hiérarchiques pour aller remonter le problème au sommet. On constate bien souvent ce problème dans des équipes ou un développeur requiert directement le client plutôt que son propre Scrum master, ou directeur de produit.

 

  1. CONCLUSION

En définitive, nous avons vu comment modéliser un développement de systèmes d’information à l’aide de la méthode Merise. En effet, la méthode Merise nécessite une démarche par étape qui favorise la qualité de chaque modèle avec ses différents niveaux de validations. Par contre, Scrum est un processus de développement logiciel, introduit dont des règles pour suivre un processus itératif empirique permettant d'obtenir un produit très proche de besoins qui évoluent et ainsi de maximiser la valeur pour les clients. Mais aussi, Scrum est un processus idéal pour de petites équipes et tout le monde dans l’équipe est surveillé par un Scrum Master qui se doit non seulement d’interagir avec le projet mais aussi d’être réellement investie dans sa bonne réalisation.

En plus Scrum est une méthode à utiliser pour gérer le projet tandis que Merise est une méthode à utiliser pour analyser et concevoir le projet.

La différence principale est que Merise est une méthode d'analyse néanmoins Scrum aide l’équipe à détecter et à éliminer les obstacles entravant le développement et la livraison des produits et améliore la communication. Le développement de produits logiciels fait naître un chaos considérable qui se traduit par une grande incertitude et des comportements imprévisibles. Donc Scrum optimise la coopération et permet de contrôler le chaos dérivant d’intérêts et de besoins divergents.

 

[1] MISSWAY KINDIA J, support de cours de Technique de Base de données, cours de 3ème graduat, ISC/BDD, 2015-2016, (inédit)

[2] http://docplayer.fr/1637318-Introduction-3-iv-comparaison-merise-uml-scrum-14-1-approche-fonctionnelle-14-2-schema-entité-association-14-3-methodologie.html

[3] IBWAYO M’BEL A, Méthode d’Analyse Informatique II, cours de 3ème graduat, ISC-BDD, 2015-2016

[4] http://www.img.univ-mlv.fr/~dr/XPOSE2008/SCRUM/refs.php

Partager cet article
Repost0