Pages

Rechercher un article dans bouhajm

jeudi 3 janvier 2013

gestion projet informatique

gestion projet informatique

2% des logiciels fonctionnent à la livraison
3% de plus fonctionneront après quelques modifications mineures
20% seront utilisés après des modifications majeures
45% ne seront jamais utilisés
30% seront payés mais jamais livrés


                                               rapport commandé par le Congrès américain durant l'année 2000



définitions:

Un projet est l'ensemble des actions à entreprendre afin de répondre à un besoin dans un délai fixé.
Dans un premier temps, une approche mécaniste de la gestion de projet prend en compte trois critères : le coût, la qualité et les délais.


Cependant, aujourd'hui, compte tenu de la concurrence, il faut faire apparaître un nouveau critère : la satisfaction du client.

En effet, un chef de projet ne peut plus se satisfaire de réaliser son projet en coûts, délais et qualité fixé initialement. Il est nécessaire de s'assurer tout au long du projet, que le produit en cours de réalisation correspond clairement aux attentes du client.
Il est important d'avoir conscience qu'un client qui n'est pas satisfait est un client perdu.

Maîtrise d'Ouvrage (MOA)
La maîtrise d'ouvrage représente les utilisateurs finaux à qui l'ouvrage est destiné.
Elle est chargée de définir l'expression du besoin. Cependant, elle n'a généralement aucunes idées sur les contraintes techniques qu'elle impose aux développeurs.

Maîtrise d'Ouvrage déléguée(MOAd)
La maîtrise d'ouvrage déléguée aide le maître d'ouvrage lorsqu'il n'a pas les compétences nécessaires.
Elle chargée de faire l'interface entre le maître d'œuvre et le maître d'ouvrage.

Maîtrise d'Oeuvre (MOE)
La maîtrise d'œuvre est l'entité retenue par la MOA en qualité de chef de projet responsable des choix techniques.

Sous-traitance
La sous-traitance réalise un sous ensemble du projet en lien avec la maîtrise d'oeuvre, si celle-ci ne possède pas les ressources internes nécessaires.


Les tâches de la gestion de projet


Le schéma suivant reprend les principales intéractions entre les différentes entités concernées par un projet informatique:


o Définition du projet
Dans un premier temps, il est essentiel de s'assurer que la définition du projet est correcte. C'est-à-dire que les réels besoins ont été clairement identifiés, et que toutes les données soient connues.

o Identification du périmètre
Il s'agit d'identifier toutes les actions à mener.

o Identification des ressources nécessaires et suffisantes
Il est impératif de s'assurer que l'on possède toutes les compétences qu'il faut pour la réalisation du projet.

o Elaboration du planning
L'élaboration du planning se fait avec l'ensemble des entités du projet.

o Définition des critères qualités
Il s'agit de définir des moyens de contrôle tout au long du projet, et de définir le contrôle final.
De plus, il est important de fixer dès le début une certaine cohérence dans la documentation à fournir (garder la même présentation pour l'ensemble des documents, gérer le versioning)

o Management des équipes
Il faut s'assurer de la cohérence des objectifs de chacun avec l'objectif final.

o Gestion des avancements
Si elle est faite correctement, elle permet d'identifier au plus tôt tous les problèmes rencontrés, les dérapages de planning et de coûts. L'objectif est de pouvoir mettre en place les mesures les plus appropriées au meilleur moment.

o Coordination et contact
La communication entre toutes les entités du projet est essentielle.


Toutes ces activités montre que le rôle de chef de projet est une activité à temps plein et essentielle au bon déroulement du projet.



"Portrait" d'un chef de projet


De plus en plus, le poste de chef de projet est une promotion offerte au meilleur développeur si celui-ci a envie avec l'âge de s'orienter vers le management plutôt que de rester dans la programmation, et qu'il a développé une bonne connaissance du métier et de ses contraintes. De plus, il faut posséder une hauteur de vue suffisante pour voir le projet dans sa globalité, que ce soit au niveau des aspects techniques ou autres. Dans la gestion de projet, l'excellence technique n'est pas tout; la personnalité intervient beaucoup.
Si l'on pouvait décrire le chef de projet idéal, il pourrait se présenter ainsi :

o Rigueur
Le chef de projet doit maîtriser l'ensemble des paramètres du projet. Il ne doit laisser passer aucuns détails (pas de questions sans réponses, pas d'ambiguïtés,...).
Il se doit aussi de noter toutes les décisions et de vérifier qu'elles soient bien prises en compte.

o Communication
Il doit posséder une bonne faculté à exprimer ses idées, savoir passer d'un discours ferme à un discours sympathique.
Il est aussi nécessaire qu'il possède une bonne expression écrite et orale.

o Ecoute
Le chef de projet doit être à l'écoute des autres, essayer de les comprendre.
Il doit accepter les critiques et surtout en tenir compte.

o Compétence en informatique
Il doit posséder une bonne compétence en informatique afin de se rendre compte des tâches à accomplir, du temps qu'elles vont prendre et de la méthode à appliquer.
La compétence technique est essentielle pour avoir une certaine CREDIBILITE au sein de son équipe projet.

o Caractère
Avoir du caractère est important pour résister à la pression hiérarchique.
o Réactivité
Le chef de projet doit réagir efficacement et rapidement en cas de problèmes.




Les problèmes rencontrés



Les problèmes (ou dérapages) que l'on peut rencontrer durant la gestion d'un projet peuvent se classer en 4 catégories:
o Dérapage fonctionnel 
On peut se retrouver dans le cas d'un dérapage fonctionnel si le maître d'œuvre n'est pas assez à l'écoute du maître d'ouvrage sur les impératifs fonctionnels, ou si le maître d'ouvrage refuse de s'impliquer dans la définition des fonctionnalités et de leurs applications.


o Dérapage technique

On peut avoir un dérapage technique si l'on a pas identifié assez tôt les contraintes techniques.

o Dérapage du planning
Lors de l'élaboration du planning, il arrive souvent que les délais soit fixés de tel façon qu'il est pratiquement impossible de les respecter. Cependant, on peut avoir un dérapage plus important si le maître d'œuvre manque de réactivité, et qu'il n'a pas identifié assez tôt les risques de déviation.


o Dérapage du budget

Pour éviter ce type de dérapage, il faut identifier au plus tôt la charge de travail nécessaire.
Généralement, le coût fixé au départ est volontairement sous-estimé.



La sous-traitance



Toutes les sociétés ne possèdent pas en interne l'ensemble des ressources pour réaliser un projet, que ce soit par manque de personnel ou par des compétences qui n'existent pas.Il est ainsi possible de faire appel à des sociétés de prestations.
Il existe 2 types d'interventions:
o en régie
Une personne extérieure se déplace dans la société. Le coût de cette intervention est journalier, et la personne reste le temps qu'il faut.
L'inconvenient de cette solution est que le coût n'est pas maîtrisé, et que l'on ne connaît pas les qualités techniques de la personne envoyées.

o au forfait
Le prestataire propose un coût global pour réaliser l'application.
Le développement se fait dans les locaux du sous-traîtant, et le programme 
est livré " clé-en main ".
Dans ce cas, le coût est maîtrisé, cependant les périmètres d'interventions doivent être bétonnés afin d'éviter tout dérapage.

Le prestataire doit être piloté par la maîtrise d'oeuvre. Il ne faut pas se dire que l'on est tranquille car ce n'est pas nous qui sommes chargés de cette partie. En effet, ce serait un grave erreur car si le prestataire rencontre des problèmes, c'est sur le chef de projet que retomberont les conséquences. Ainsi, il faut faire régulièrement des réunions d'avancement (problèmes rencontrés, modules réalisés,…)


Exemple de typologie des projets



Nombre de personnes
Budget
Durée
Exemple
Grand projet> 50 personnes> 1,6 M€quelques annéesEuroDisney
Petit projetDe 1 à 50 personnesquelques K€quelques moisRéseaux locaux
Projet "poussière"1 à 2 personnesquelques milliers d'€urosquelques semainesRéponse à un Appel d'Offre



Phase préparatoire d'un projet


La phase préparatoire permet de prendre conscience du projet, puis d'étudier l'objet du projet pour s'assurer que sa mise en œuvre est pertinente et qu'il entre dans la stratégie de l'entreprise. Cette phase, est généralement qualifiée d'Avant-Projet.
Nous détaillerons ci-dessous les différentes étapes de cette phase préparatoire.
L'avant-projet
responsabilité: MOA
Un projet commence tout d'abord par la prise de conscience d'un besoin.
La maîtrise d'ouvrage décide ensuite de la pertinence de ce besoin puis fait une première définition.
En fait, la maîtrise d'ouvrage doit faire un réel travail de fond et une vraie enquète pour parvenir à cibler un besoin. En effet, comme il est illustrer sur le schéma suivant, la Direction ne connait généralement qu'une infime partie des problèmes auxquels sont confrontés ses salariés. La maîtrise d'ouvrage se situe généralement au niveau des chefs de service et ne connait elle aussi qu'une petite partie des problèmes rencontrés par les utilisateurs. Généralement, c'est le chef de service qui prendre conscience d'un besoin et qui va se charger de la maîtrise d'ouvrage. Il est donc essentiel qu'il soit en contact avec les utilisateurs, ou qu'il mette en place une structure permettant de faire remonter les informations et les problèmes.
 

Expression des besoins
responsabilité: MOA
La maîtrise d'ouvrage peut ensuite faire une étude sur les besoins que la nouvelle application va couvrir. Cette étude doit se faire avec les utilisateurs concernés, afin de cadrer au mieux leurs besoins.
Cette étude aboutie à la rédaction d'un document d'expression de besoins et débouche généralement ensuite sur une étude de faisabilité.

Etude détaillée
responsabilité: MOA / MOE
Entre une simple expression des besoins et les détails des fonctionnalités, il 'y un gouffre. Généralement, la maitrise d'ouvrage veut rester le plus flou possible et ne veut pas prendre de responsabilités sur le choix de certaines fonctionnalités. Cette attitude est généralement due à une expression des besoins trop superficielle. Il arrive souvent, que le maître d'ouvrage néglige son travail préparatoire, ou qu'il ne veuille pas s'investir. Cependant, s'il ne veut pas s'impliquer, il arrive souvent qu'il donne le projet au maître d'oeuvre en soulignant qu'il ne veut en entendre parler jusqu'à la fin. Dans ces conditions, il y'a peu de chances que ce projet aboutisse convenablement.
De plus, les contraintes causées par les détails des fonctionnalités sont souvent la cause de retards dans le planning. En effet, ce sont les détails qui prennent le plus de temps en développement. La rédaction d'un document sur les détails du besoin permet d'identifier toutes les incohérences, et la maîtrise d'ouvrage doit ensuite éclaircir les zones d'ombre.
Cette étude détaillée doit débouchée sur un Cahier des Charges fonctionnel (CdCf) entre la maîtrise d'ouvrage et la maîtrise d'oeuvre. Ainsi, la maitrise d'ouvrage est assurée de disposer d'une application réalisant les fonctionnalités décrites dans le document, et la maitrise d'oeuvre possède un document sur lequel s'appuyer en cas de litige. Elle est aussi assurée que la maitrise d'ouvrage ne modifiera pas les fonctionnalités en cours de route.

Etude détaillée et technique
responsabilité: MOE
La maîtrise d'oeuvre reprend ensuite une étude détaillée et technique. Cette étude permet ainsi d'avoir une idée des moyens à mettre en oeuvre pour réaliser le projet dans le temps imparti.
o Identifier au plus tôt les contraintes techniques
Il est important d'identifier rapidement les contraintes techniques afin d'anticiper la charge de travail nécessaire et les problèmes que l'on pourra rencontrer pour chaque partie de la réalisation du projet.
o Identifier au plus tôt la charge de travail nécessaire
Cette étape va permettre de déterminer le nombre de personnes qui vont travailler sur le projet en fonction du délais.
o Identifier au plus tôt les moyens à mettre en œuvre
Il est important de faire des choix judicieux pour ne pas prendre de retard dans le planning. Ainsi, il sera utile de découper le projet en taches élementaires.
Cette étape permet aussi d'identifier si l'on aura les connaissances techniques nécessaire pour mener à terme le projet. Le cas écheant, il faudra faire appel à la sous-traîtance.
o Identifier les coûts de mise de œuvre
Il arrive souvent que des fonctionnalités non-majeures peuvent representer un pourcentage non négligeable dans le budget. Il est donc utile d'en avertir la maîtrise d'ouvrage. Elle prendra ainsi la décision d'avoir ou non cette fonctionnalité non-majeure compte tenu du temps de développement que celle-ci prendra.



Phase de réalisation d'un projet



La phase de réalisation est la phase opérationnelle de création de l'ouvrage. Elle est menée par la maîtrise d'œuvre, en relation avec la maîtrise d'ouvrage.
Cette phase commence par la réception du Cahier des Charges et se clôture par la livraison de l'ouvrage.


Lancement du projet
responsabilité: MOE / MOA
Une fois le travail préliminaire effectué, il est ensuite possible de chiffrer le coût, de déterminer le planning et le délai. Cette étape se fait à ce moment là, et non PAS AVANT comme c'est généralement le cas.
Concernant le planning, il est essentiel qu'il soit réalisé avec tous les responsables. Ainsi, la maîtrise d'oeuvre s'engage à respecter le périmètre du projet (pas de modifications en cours de route sans que l'ensemble du projet soit de nouveau étudié), de la même façon que la maîtrise d'oeuvre s'engage à réaliser le projet dans les coûts et délais fixés, et dans le respect de la qualité.

Il est important d'adopter une démarche qualité, en apportant des standards à suivre en matière de procédures: documentation, classement des différents composants du projet, versionning,...

Développement
responsabilité: MOE
L'objectif de ce site n'étant pas de reprendre ce que nous avons vu durant notre formation, je n'ai pas trouvé utile de m'attarder sur cette partie.
o Préparation du développement: langage de modélisation UML
o Développement
On ne le répetera jamais assez, lors du développement, il est essentiel de bien documenter pour que les programmes ne deviennent des " boites noires ". En effet, si l'on veut reprendre le programme par la suite pour une nouvelle version, il faut savoir ce qu'il fait et comment il le fait.
Il est aussi important de prendre en compte les contraintes de performances.

o l'effet tunnel
L'effet tunnel est la période de temps pendant laquelle il y'a une coupure d'information entre les développeurs et le chef de projet, ou entre la MOA et la MOE. Les conséquences sont souvent lourdes car on découvre des problèmes trop tard, ou des non-conformités avec ce qui était demandé. Ceci souligne la nécessité de mettre en place des itérations qui permettent de contrôler la bonne avancée des développements et d'estimer si les délais seront tenus ou non.


Phase de fin de projet



La phase de fin de projet est la phase de mise en production de l'ouvrage.
En effet un projet ne se finit pas lorque sa réalisation est terminée, il faut s'assurer que l'ouvrage est conforme aux attentes des utilisateurs et faire en sorte que son "installation" et son utilisation se déroulent correctement. Dans la mesure où la maîtrise d'œuvre connaît le produit qu'elle a mis au point, il lui revient de l'installer.


Recette
responsabilité: MOE / MOA
Cette étape consiste à tester le programme livré et à vérifier son bon fonctionnement. Une recette se prépare en établissant un document: le plan de recette.
o Etablissement du Plan de Recette
Le plan de recette décrit les points de contrôles et permet d'établir une méthodologie dans les tests.
o 2 Plans de Recette
Il est nécessaire d'établir deux plans de recette afin de valider le projet.Le plan de recette effectué par la maîtrise d'oeuvre doit être technique. Il doit vérifier la bonne qualité de programmation et la conformité avec les contraintes techniques. Il est conseillé de faire des tests grandeur nature afin de valider le bon fonctionnement et les contraintes de performance. Ces tests sont notamment conseillés si l'on utilise une base de données.En effet, il arrive souvent qu'en testant avec peu de données, le logiciel fonctionne bien, mais une fois intégré dans l'entreprise, on constate un gros problème de lenteur qui fait que le produit ne répond plus au cahier des charges.
Le plan de recette effectué par la maîtrise d'ouvrage se fait au niveau fonctionel. Il s'agit ainsi de vérifier si toutes les fonctionnalités décrites dans le Cahier des Charges fonctionnel sont présentes.

Une fois le recettage effectué et concluant, on peut valider la livraison.

Mise en production
responsabilité: MOE / MOA
Lorsque la livraison est validée, il faut installer les programmes dans leur environnement réel. La maîtrise d'oeuvre connaissant son produit, elle est chargée de le mettre en exploitation. Sa mission consiste aussi à informer, préparer, former et encadrer les utilisateurs. Elle pourra par exemple organiser une journée de formation sur le nouveau logiciel.
Il est aussi utile que la maîtrise d'ouvrage ait tenu au courant les utilisateurs de l'avancement du projet pour qu'ils se sentent concernés et impliqués dans la mise en place du logiciel.


Pérenniser le projet
responsabilité: MOE
Il faut penser aux futurs évolutions du projet et aux prochaines versions dès sa mise en place, et même avant, lors du développement. Il est donc important d'avoir fait une bonne documentation pour reprendre et comprendre ce qui a été développé, et pour faciliter la maintenance du produit.



Les points importants...

Les phases de préparation, de réalisation et de fin sont essentielles au bon déroulement d'un projet. On peut reprendre ces différentes phases par l'abréviation:
3C
Cadrer / Conduire / Conclure

Pour mener à bien les différentes phases, il est important de respecter certaines règles:
o Distinguer la MOA et la MOE
Distinguer la maîtrise d'ouvrage et la maîtrise d'oeuvre permet de définir concrètement les responsabilités de chacun.
La présence d'une maîtrise d'ouvrage est importante car c'est elle qui connaît les besoins des utilisateurs et qui pilote le côté fonctionnel.
S'il n'y avait pas de maîtrise d'ouvrage, ce serait à la maîtrise d'oeuvre de deviner ce qui est nécessaire et ce dont ont besoins les utilisateurs. Ceci peut paraitre aberrant mais dans 90% des cas la maîtrise d'ouvrage est inexistante. L'application développée ne peut répondre correctement à ce qu'attendent les utilisateurs. Conclusion, l'application développée ne sera jamais utilisée.

o Ne pas sous estimer les délais
Lorsque la maîtrise d'oeuvre présente son planning à la maîtrise d'ouvrage, la réaction est toujours la même: "c'est trop long". Cependant, il ne faut pas céder à la pression et réduire les délais pour bien faire, car au final ils ne pourront être tenus.
o Concevoir en se souciant de la faisabilité technique
Il faut faire attention de ne pas s'engager à réaliser des fonctionnalités que l'on va découvrir ensuite comme infaisable techniquement. Ceci engendrera ensuite un problème dans les délais, et ce ne sera pas la faute du maître d'ouvrage qui a demandé une fonctionnalité infaisable mais bien de la faute de la maîtrise d'oeuvre qui n'a pas su identifier assez tôt le problème.
o Décrire les fonctionnalités en détail
La description des fonctionnalités en détail permet d'éliminer les zones d'ombres et les mal entendus sur ce que doit couvrir l'application.
o Ne pas négliger la recette
o Ne pas négliger l'étude préliminaire
Les études préliminaires doivent permettre de prendre du recul sur l'application et d'identifier les futurs problèmes ou les besoins. On pourra par exemple anticiper de nouvelles fonctionnalités.
o Faire preuve de rigueur
Il faut régulièrement se préoccuper de l'avancement du projet, et suivre le planning. Il est aussi important de conserver toutes traces écrites de chacunes des décisions.
o Bien monter son équipe
o Bien choisir sa société de prestation
o Bien communiquer
L'importance de la communication dans le cadre d'un projet peut être mise en évidence par le schéma suivant:

Au fur et à mesure, les interlocuteurs et les intervenants déforment la demandes des utlisateurs. En effet, si la maîtrise d'ouvrage n'effectue pas son étude et sa définition des besoins correctement, et qu'il ne comprend que globalement les besoins des utilisateurs, il y'a peu de chances que l'application finale réponde aux exigences des utilisateurs.




Les outils de formalisation

Il existe une multitude d'outils pour formaliser les besoins et définir un projet:
Arbre d'objectifs
Bête à corne
Cahier de charges fonctionnel
Diagramme des flux de données
Diagramme d'estimation des coups
Pieuvre
Matrice d'interactions
Tableau des incertitudes
Tableau de liaisons
Bien qu'il existe beaucoup d'outils, il n'est pas nécessaire de tous les connaître et de tous les appliquer. On choisit généralement les 2 ou 3 qui nous conviennent le mieux.
Exemple 'la Pieuvre':

 Les outils de conception


Les outils de conception permettent d'avoir une vision globale, de se poser les bonnes questions. Il existe plusieurs outils mais les plus utilisés sont les deux suivant:
o La méthode MERISE
Il existe de nombreuses méthodes d'analyse. La plus connue en France est la méthode MERISE.
MERISE est une méthode de conception, de développement et de réalisation de projets informatiques. Le but de cette méthode est d'arriver à concevoir un système d'information.

Exemple de Modèle Conceptuel de Données:


o Le langage de modélisation UML (Unified Modeling Language)
Cette modélisation objet permet de créer une représentation informatique des éléments du monde réel auxquels on s'intéresse, sans se préoccuper de l'implémentation, ce qui signifie indépendamment d'un langage de programmation. L'interêt d'une méthode objet est qu'elle permet de définir le problème à haut niveau sans rentrer dans les spécificités d'un langage. Il représente ainsi un outil permettant de définir un problème de façon graphique, afin par exemple de le présenter à tous les acteurs d'un projet et les différents cas d'utilisation.



Les outils de gestion

o Le diagramme de Gantt
Le diagramme de Gantt permet de planifier un projet et rendre plus simple le suivi de son avancement. On peut ainsi prévoir suffisamment à l'avance les actions à penser ou à faire.

o Le diagramme PERT : exploration des réseaux de tâches
Le diagramme PERT permet d'améliorer l'ordonnancement d'un projet, et de montrer l'incidence d'un retard sur la réalisation finale.

o La courbe en S
La courbe en S permet de mettre en évidence les différences entre les prévisions et la réalité du projet. Elle peut par exemple être utile si l'on souhaite visualiser la différence entre les dépenses effectuées et les dépenses prévisonnelles:

Les outils informatiques

Il existe divers outils informatiques permettant de nous assister dans les différentes phases d'un projet.
o MS Project
MSProject permet de modéliser les outils de gestion (diagrammes de Gantt, diagrammes PERT,...)

On peut trouver divers outils permettant de faciliter la phase de développement:
o CVS (Concurrent Version System)





source: http://www-igm.univ-mlv.fr












Aucun commentaire:

Enregistrer un commentaire

ajouter votre commentaire: n'oubliez pas votre commentaire nous intéresse