Plusieurs postes sont disponibles chez Nmédia!Amène ton talent, on fournit le plaisir!
La structure de projets d’envergure : qu’en est-il 5 ans plus tard?

La structure de projets d’envergure : qu’en est-il 5 ans plus tard?

4 octobre 2017Par Éric Sylvestre
Catégorie :

Notre accomplissement passe par la réalisation de projets stimulants pour nos clients. Constamment à la recherche de défis de plus en plus importants, les livrables d’ampleurs en seront toujours un. Bien que de l’extérieur, les projets informatiques puissent tous se ressembler, c’est rarement le cas. Si bien que la stratégie pour livrer un site, une application ou un logiciel de qualité diffère chaque fois.

Là où l’expérience d’une firme comme Nmédia entre en ligne de compte, c’est pour appliquer la bonne structure au bon projet. Détestant embarquer dans des processus qui n’apportent pas de valeur et en nous inspirant d’une approche Lean, nous n’appliquons que la charge de gestion minimale pour réussir un mandat.

Dans certains cas, par contre, l’ampleur du projet nécessite une structure plus rigoureuse pour maximiser l’apport de tout un chacun.

L’Agilité à plus grande échelle

Dans l’article que je signais il y a 5 ans, nous parlions de comment mettre en place une équipe Scrum traditionnelle, autant chez le client que chez le fournisseur de services. Ce cadre de travail prenait de plus en plus d’ampleur dans les entreprises, mais beaucoup d’entre elles en étaient à leur première expérience. Le concept est depuis beaucoup mieux maîtrisé dans l’industrie.

Les bases proposées dans notre premier article sur le sujet ont toujours leur place. Elles s’appliquent toujours dans l’optique qu’une équipe de développement a la capacité de répondre aux demandes.

Mais que faire si le projet double de portée? Si le produit doit être prêt 2 fois plus rapidement et si une multitude de projets encombrent l’équipe de développement?

L’industrie a réagi et propose des solutions pour appliquer l’Agilité à grande échelle.

Scrums de Scrums, DAD, SAFe et LeSS

Plusieurs experts se sont regroupés afin de proposer des cadres de travail pour l’Agilité à grande échelle. Nous vous avons d’ailleurs déjà introduit à l’Agile Discipliné (DAD) dans un article précédent.

Les concepts clés dans ces cadres sont très similaires :

  • Garder la taille des équipes de travail autosuffisante entre 5 à 9 personnes et répliquer cette structure jusqu’à satisfaction des besoins.
  • Déterminer un représentant (habituellement le Scrum Master) pour synchroniser les différentes équipes.
  • Arrimer les débuts et fins d’itérations (sprints) pour avancer au même rythme.

Image avec méthodes: Agile ou Cascade

Traduit librement de : https://blog.octo.com/deployer-lagile-a-large-echelle-cest-jouer-sur-les-frontieres-de-lentreprise/

Il s’agit ici de recommandations élémentaires afin de simplifier un projet d’envergure. L’idée de reproduire une recette gagnante (Scrum à une seule équipe) est totalement logique.

Le taux de succès des livraisons de projets avec l’Agilité ne cesse d’augmenter selon le Chaos Report, alors que 3 fois plus de projets informatiques échouent en utilisant une méthode de gestion en Cascade (Waterfall).

Structure Agile

Traduit librement de : https://www.infoq.com/fr/articles/rapport-chaos-2015

Cet article offre un aperçu des solutions, mais soyez certain que nous vous offrirons un tour complet des autres cadres de travail dans de prochains articles.

Et la suite?

Le mouvement Agile a frappé fort en s’adressant rapidement aux petits projets pour prouver la méthodologie. Lentement, mais sûrement, des projets d’envergure se sont avérés de francs succès en raison de l’utilisation de l’Agilité. Quelle sera la suite? Accomplir le virage Agile des organisations. Être agile, pas seulement en faire.

Et comment cela se produira-t-il? Si vous avez misé sur des petites victoires fréquentes et incrémentales, vous avez vu juste. Après tout, on parle d’Agilité!

Exemple d'organisation

Source : http://www.disciplinedagiledelivery.com/agility-at-scale/disciplined-agile-2/

 

Voir l'article d'origine d'Éric sur les projets d'envergure

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

La structure de projets 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).