La gestion d’un projet informatique
La gestion de projet n’est pas une science exacte. Le nombre élevé de facteurs à considérer dans le cycle de vie d’un produit rend complexe l’idée d’avoir une seule solution adaptée sur mesure pour tous les projets. Chaque nouveau projet est un défi en soi demandant une adaptation aux contraintes et exigences. C’est principalement pour cette raison que les méthodologies « Agile » obtiennent de plus en plus de popularité et, surtout, de succès auprès des organisations de développement logiciel 1. Tel que je le mentionnais dans l’un de mes précédents articles, une méthode « Agile » est une méthode de développement informatique qui implique le client le plus possible dans les étapes de création dans le but de satisfaire ses besoins, rendant plus facile la réalisation d’un projet.
A priori, un des aspects les plus importants à mettre en place à la naissance d’un nouveau projet est sa structure organisationnelle. Chez Nmédia, chaque structure de travail est grandement fondée sur le processus de travail Scrum 2, une méthode « Agile » dédiée à la gestion de projet. Par cette méthode, « Agile » recommande d’adapter les cadres de travail aux besoins des programmeurs.
Un projet ne se gère pas dans l’abstrait, il est nécessaire d’avoir des bases solides pour encadrer les ressources impliquées. Bien sûr, la taille du projet en question influencera grandement la structure à adopter. Le processus de gestion Scrum 3 détermine la taille d’un projet selon le nombre de personnes qui y sont affectées. Elle établit que la taille idéale d’une équipe de développement est de 7 ± 2 (donc entre 5 et 9 personnes).
Habituellement utilisée dans le domaine de la programmation, la méthodologie « Agile », chez Nmédia, a été étendue à l’ensemble des activités. La force organisationnelle de Nmédia réside donc dans l’ensemble de ses trois grandes sphères – marketing Web, ergonomie/design et programmation. Conséquemment, un des objectifs de tout projet est d’inclure tous les corps de métier dans la production d’un livrable complet et de qualité.
Comment Nmédia aborde les projets de grande envergure? Voici un organigramme illustrant le parcours de ce type de projet et les différents intervenants requis pour atteindre la réussite. De façon plus détaillée, la suite de l’article survolera les fonctions de chaque personne impliquée et les environnements de travail nécessaires. Pour terminer, les avantages d’une telle structure seront mis en évidence.
Organigramme des projets informatiques d’envergure

(Crédit : Jean-Sébastien Desfossés)
La première observation à faire sur cette figure est la séparation entre les deux parties prenantes, soit le client et le fournisseur de service.
Représentants du client
La partie de gauche, identifiée sous le libellé « Client », comporte tous les représentants du client. Voici maintenant un peu plus d’explications sur chacun des rôles qu’elle comporte.
Rôles
Product Owner (directeur de produit)
Il s’agit de la personne la plus importante, car elle est le seul point de contact avec le fournisseur de service. Le Product Owner représente habituellement l’élu d’un comité ayant des intérêts dans le produit en développement. C’est ce dernier qui est responsable de prioriser ce qui sera développé dans les prochaines itérations de travail.
Client Stake Holders (parties prenantes pour client)
Ensemble des individus qui ont des intérêts (financiers, matériels, etc.) dans le produit
en développement.
Test Representent (responsable des tests chez le client)
C’est cette personne qui prend en charge les tests effectués pour le client. Elle est responsable de dire si la version qui se trouve présentement en test est prête à aller
en production.
Représentants du fournisseur de service
Dans l’organigramme, il s’agit de tous les autres individus à l’extérieur de la section « Client ».
Rôles
Scrum Master (gestionnaire de projet)
Chef d’orchestre responsable de coordonner toutes les activités entre les différents intervenants. Il est la personne qui transmet la vision de l’équipe vers le Product Owner et
vice-versa. En constante collaboration avec ce dernier, il définira les itérations de travail de l’équipe de développement.
Software Architect (architecte logiciel)
Il s’agit du membre de l’équipe de production qui est responsable de l’ensemble des décisions techniques. À l’aide de l’équipe de développement, il fait donc la conception de l’ensemble de l’architecture du produit.
Software Ergonomist (ergonome logiciel)
L’expertise d’un ergonome logiciel est requise pour être en mesure d’offrir une interface graphique offrant une expérience utilisateur intéressante. Il sera en contact avec les différents intervenants pour bien saisir le besoin et la façon dont les utilisateurs interagiront avec la plateforme technologique.
Designer
Suite aux recommandations de l’ergonome logiciel, le designer crée les maquettes nécessaires pour que l’intégration puisse se faire dans l’application.
Software Developers (développeurs logiciels)
Les développeurs logiciels sont un heureux mélange d’une panoplie de ressources : spécialistes dans des domaines précis comme la création et l’intégration de l’interface utilisateur, la programmation et les bases de données. Sous les directives de l’architecte logiciel pour les besoins techniques et du Scrum Master pour les besoins fonctionnels, l’équipe de développement s’occupe de livrer des fonctionnalités.
QA Team (équipe d’assurance de la qualité)
La livraison de qualité est assurément une des valeurs les plus importantes chez Nmédia. L’équipe d’assurance de la qualité est responsable de valider que l’implémentation des besoins fonctionnels respecte bien la demande initiale et fonctionne complètement.
Les environnements de travail
Pour travailler de manière efficace et efficiente, l’équipe de production doit avoir sous la main différents environnements de travail.
Environnement de développement
Il s’agit en fait d’un carré de sable réservé aux développeurs qui peuvent s’en servir pour vérifier que leur travail fonctionne bien. Les publications sont fréquentes (plus d’une vingtaine par jour en moyenne) sur cet environnement. Une fois que l’équipe d’assurance de la qualité a certifié que tout fonctionnait bien sur cet environnement, le feu vert est donné pour une publication en préproduction.
Environnement de préproduction
À cette étape, la version du produit qui sera livrée aux utilisateurs est présentée au client. Le représentant des tests du client est alors invité à réviser toutes les nouvelles fonctionnalités. Lorsque ce travail est fait, c’est lui qui donne l’autorisation d’entreprendre une publication sur l’environnement de production.
Environnement de production
Le lancement sur l’environnement de production marque l’aboutissement final du développement d’une fonctionnalité. C’est sur cet environnement que se déroulent les opérations, là même où les utilisateurs exécutent leurs tâches quotidiennes.
Les avantages d’une telle structure
Un seul point de communication entre le client et le fournisseur de service
Élimination d’opinions et d’interventions contradictoires de la part d’intervenants qui ne sont pas aux faits des dernières décisions.
Chacun joue son rôle
Tout individu est mis dans une position où il excelle. Ainsi, le meilleur de tous est mis à profit.
Intégration des différents corps de métier
Toujours dans le but de livrer un produit des plus complets, l’intégration des différents corps de métier, comme l’ergonomie, va au-delà du simple programme informatique. Le produit aura sa valeur ajoutée.
Des environnements distincts
Les environnements distincts permettent aux développeurs de développer, aux testeurs de tester et au client d’approuver le travail. Ils permettent aussi de diminuer les risques d’erreurs lors d’une mise à jour sur l’environnement de production.
La réalisation de projets d’envergure en informatique demande beaucoup de rigueur et de structure. Les méthodologies « Agile » offrent de nombreuses ressources rendant possible la matérialisation d’un projet de qualité. Il est primordial qu’un projet de grande ampleur soit bien encadré par les meilleures expertises et que celles-ci disposent des meilleurs outils dans
le domaine.
Bibliographie
1 SYLVESTRE, Éric. « Le succès des projets technologiques passe par Agile », Nmédia Solutions inc., [En ligne], 6 février 2012 http://www.nmediasolutions.com/blogue/developpement-dapplications/le-succes-des-projets-technologiques-passe-par-agile/, (Page consultée le 11 juin 2012).
2 SCRUM ALLIANCE. « Scrum Is an Innovative Approach to Getting Work Done », Scrum Alliance, transforming the world of work, [En ligne], http://www.scrumalliance.org/learn_about_scrum, (Page consultée le 11 juin 2012).
3 FLAHIFF, Joseph (2010). « Why is 7 +-2 is the ideal Scrum team size? », Whitewater Projects, Project Management Institute, [En ligne], http://whitewaterprojects.com/2010/09/17/why-is-7-2-the-ideal-scrum-team-size/, (Page consultée le 11 juin 2012).
Commentaires
Soyez le premier à commenter cet article.
Commenter
Votre adresse courriel ne sera pas publiée.
Les champs obligatoires sont marqués d'un astérisque *
Commentaire * :
Je souhaite recevoir les prochaines infolettres Nmédiennes